From 1a5e96e0dc2f54c8a8e3be863fd7c22a62ecea83 Mon Sep 17 00:00:00 2001 From: Gaurav Sarma Date: Thu, 11 Aug 2022 22:26:32 +0530 Subject: [PATCH] Removed local library --- ballerine-android-sdk/.gitignore | 1 - ballerine-android-sdk/build.gradle.kts | 79 -------- ballerine-android-sdk/consumer-rules.pro | 0 ballerine-android-sdk/proguard-rules.pro | 21 -- .../ExampleInstrumentedTest.kt | 24 --- .../src/main/AndroidManifest.xml | 5 - .../BallerineKYCFlowWebView.kt | 188 ------------------ .../kmp/android_webview/CameraView.kt | 138 ------------- .../kmp/android_webview/VerificationResult.kt | 11 - .../res/drawable/ic_baseline_camera_24.xml | 5 - .../src/main/res/values/strings.xml | 6 - .../kmp/android_webview/ExampleUnitTest.kt | 17 -- iosApp/Podfile.lock | 4 +- .../Pods/Local Podspecs/shared.podspec.json | 6 +- iosApp/Pods/Manifest.lock | 4 +- iosApp/Pods/Pods.xcodeproj/project.pbxproj | 34 ++-- .../xcschemes/Pods-iosApp.xcscheme | 58 ++++++ .../xcschemes/shared.xcscheme | 58 ++++++ .../xcschemes/xcschememanagement.plist | 21 ++ .../xcschemes/xcschememanagement.plist | 14 ++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 32951 bytes shared/shared.podspec | 17 +- 23 files changed, 194 insertions(+), 525 deletions(-) delete mode 100644 ballerine-android-sdk/.gitignore delete mode 100644 ballerine-android-sdk/build.gradle.kts delete mode 100644 ballerine-android-sdk/consumer-rules.pro delete mode 100644 ballerine-android-sdk/proguard-rules.pro delete mode 100644 ballerine-android-sdk/src/androidTest/java/io/ballerine/kmp/android_webview/ExampleInstrumentedTest.kt delete mode 100644 ballerine-android-sdk/src/main/AndroidManifest.xml delete mode 100644 ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/BallerineKYCFlowWebView.kt delete mode 100644 ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/CameraView.kt delete mode 100644 ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/VerificationResult.kt delete mode 100644 ballerine-android-sdk/src/main/res/drawable/ic_baseline_camera_24.xml delete mode 100644 ballerine-android-sdk/src/main/res/values/strings.xml delete mode 100644 ballerine-android-sdk/src/test/java/io/ballerine/kmp/android_webview/ExampleUnitTest.kt create mode 100644 iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/Pods-iosApp.xcscheme create mode 100644 iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/shared.xcscheme create mode 100644 iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 iosApp/iosApp.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 iosApp/iosApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 iosApp/iosApp.xcworkspace/xcuserdata/mcgaps.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/ballerine-android-sdk/.gitignore b/ballerine-android-sdk/.gitignore deleted file mode 100644 index 42afabf..0000000 --- a/ballerine-android-sdk/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/ballerine-android-sdk/build.gradle.kts b/ballerine-android-sdk/build.gradle.kts deleted file mode 100644 index 9d3403b..0000000 --- a/ballerine-android-sdk/build.gradle.kts +++ /dev/null @@ -1,79 +0,0 @@ -plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") - id("maven-publish") -} - -android { - compileSdk = 32 - - defaultConfig { - minSdk = 23 - targetSdk = 32 - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles("consumer-rules.pro") - } - - buildTypes { - release { - isMinifyEnabled = false - proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro") - } - } - buildFeatures { - compose = true - } - - composeOptions { - kotlinCompilerExtensionVersion = "1.1.1" - } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = "1.8" - } -} - -dependencies { - - val compose_version = "1.1.1" - - implementation("androidx.core:core-ktx:1.8.0") - - implementation ("androidx.activity:activity-compose:1.5.1") - implementation ("androidx.compose.ui:ui:$compose_version") - implementation ("androidx.compose.material:material:$compose_version") - implementation ("androidx.compose.ui:ui-tooling-preview:$compose_version") - androidTestImplementation ("androidx.compose.ui:ui-test-junit4:$compose_version") - debugImplementation ("androidx.compose.ui:ui-tooling:$compose_version") - - //Permission handling - implementation("com.google.accompanist:accompanist-permissions:0.26.0-alpha") - // CameraX core library using the camera2 implementation - val camerax_version = "1.2.0-alpha04" - // The following line is optional, as the core library is included indirectly by camera-camera2 - implementation("androidx.camera:camera-core:${camerax_version}") - implementation("androidx.camera:camera-camera2:${camerax_version}") - // If you want to additionally use the CameraX Lifecycle library - implementation("androidx.camera:camera-lifecycle:${camerax_version}") - // If you want to additionally use the CameraX VideoCapture library - implementation("androidx.camera:camera-video:${camerax_version}") - // If you want to additionally use the CameraX View class - implementation("androidx.camera:camera-view:${camerax_version}") - // If you want to additionally add CameraX ML Kit Vision Integration - implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") - // If you want to additionally use the CameraX Extensions library - implementation("androidx.camera:camera-extensions:${camerax_version}") -} - -afterEvaluate { - publishing { - publications { - - } - } -} \ No newline at end of file diff --git a/ballerine-android-sdk/consumer-rules.pro b/ballerine-android-sdk/consumer-rules.pro deleted file mode 100644 index e69de29..0000000 diff --git a/ballerine-android-sdk/proguard-rules.pro b/ballerine-android-sdk/proguard-rules.pro deleted file mode 100644 index 481bb43..0000000 --- a/ballerine-android-sdk/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ballerine-android-sdk/src/androidTest/java/io/ballerine/kmp/android_webview/ExampleInstrumentedTest.kt b/ballerine-android-sdk/src/androidTest/java/io/ballerine/kmp/android_webview/ExampleInstrumentedTest.kt deleted file mode 100644 index 6a33d5c..0000000 --- a/ballerine-android-sdk/src/androidTest/java/io/ballerine/kmp/android_webview/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package io.ballerine.kmp.android_webview - -import androidx.test.platform.app.InstrumentationRegistry -import androidx.test.ext.junit.runners.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("io.ballerine.kmp.android_webview.test", appContext.packageName) - } -} \ No newline at end of file diff --git a/ballerine-android-sdk/src/main/AndroidManifest.xml b/ballerine-android-sdk/src/main/AndroidManifest.xml deleted file mode 100644 index b609f07..0000000 --- a/ballerine-android-sdk/src/main/AndroidManifest.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/BallerineKYCFlowWebView.kt b/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/BallerineKYCFlowWebView.kt deleted file mode 100644 index 32164f3..0000000 --- a/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/BallerineKYCFlowWebView.kt +++ /dev/null @@ -1,188 +0,0 @@ -package io.ballerine.kmp.android_webview - -import android.Manifest -import android.annotation.SuppressLint -import android.content.Context -import android.content.pm.PackageManager -import android.net.Uri -import android.util.Log -import android.view.ViewGroup -import android.webkit.* -import android.widget.Toast -import androidx.activity.compose.rememberLauncherForActivityResult -import androidx.activity.result.contract.ActivityResultContracts -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.runtime.* -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.viewinterop.AndroidView -import androidx.core.content.ContextCompat -import java.io.File -import java.util.concurrent.ExecutorService - -/** - * Custom Web view which handles the Web KYC verification flow - * - * @param1 - outputFileDirectory is the location of where the images are saved - * @param2 - cameraExecutorService - * @param3 - url is the base app url - * @param4 - onVerificationComplete - returns the Callback function with the VerificationResult object - */ -@SuppressLint("SetJavaScriptEnabled") -@Composable -fun BallerineKYCFlowWebView( - outputFileDirectory: File, - cameraExecutorService: ExecutorService, - url: String, - onVerificationComplete: (VerificationResult) -> Unit, -) { - - var isOpenFrontCamera by remember { - mutableStateOf(false) - } - var filePathCallback: ValueCallback>? by remember { - mutableStateOf(null) - } - var showMediaPicker by remember { - mutableStateOf(false) - } - var isCameraPermissionAvailable by remember { - mutableStateOf(false) - } - val context = LocalContext.current - - /** - * Checks if camera permission is granted by the user - */ - val launcher = rememberLauncherForActivityResult( - ActivityResultContracts.RequestPermission() - ) { isGranted: Boolean -> - if (isGranted) { - // Permission Accepted - isCameraPermissionAvailable = true - showMediaPicker = true - } else { - // Permission Denied - permissionRequiredToast(context = context) - } - } - - - /** - * Checks if camera permission is already available - */ - when (PackageManager.PERMISSION_GRANTED) { - ContextCompat.checkSelfPermission( - context, - Manifest.permission.CAMERA - ) -> { - isCameraPermissionAvailable = true - } - } - - if (showMediaPicker) { - CameraView( - isOpenFrontCamera = isOpenFrontCamera, - outputDirectory = outputFileDirectory, - executor = cameraExecutorService, - onImageCaptured = { uri -> - filePathCallback?.onReceiveValue(arrayOf(uri)) - filePathCallback = null - showMediaPicker = false - } - ) { Log.e("CameraView", "View error:", it) } - } - - val webViewChromeClient = object : WebChromeClient() { - - override fun onShowFileChooser( - webView: WebView?, - filePathCb: ValueCallback>?, - fileChooserParams: FileChooserParams?, - ): Boolean { - - if (filePathCallback != null) { - filePathCallback!!.onReceiveValue(null) - } - filePathCallback = filePathCb - - //If camera permission is available open the camera preview else launch the camera permission request - if (isCameraPermissionAvailable) { - showMediaPicker = true - } else { - launcher.launch(Manifest.permission.CAMERA) - } - - return true - } - - override fun onConsoleMessage(consoleMessage: ConsoleMessage?): Boolean { - Log.e("onConsoleMessage", " ---> ${consoleMessage?.message()}") - return super.onConsoleMessage(consoleMessage) - } - } - - val webViewClient = object : WebViewClient() { - - override fun doUpdateVisitedHistory(view: WebView?, url: String, isReload: Boolean) { - Log.d("doUpdateVisitedHistory", "url -> $url") - - // Parse url query params - val uri = Uri.parse(url) - - uri.getQueryParameter("close").let { paramValue -> - - if (paramValue == "true") { - - // Handle result once web KYC flow is complete - - val isSync = uri.getBooleanQueryParameter("sync", false) - val status = uri.getQueryParameter("status") - val idvResult = uri.getQueryParameter("idvResult") - val code = uri.getQueryParameter("code") - - onVerificationComplete( - VerificationResult(isSync, status, idvResult, code) - ) - } - } - - // Sets camera to front facing while capturing selfie - isOpenFrontCamera = url.contains("selfie") == true - - super.doUpdateVisitedHistory(view, url, isReload) - } - } - - /** - * Set the Display parameters to display the view in your Android app screen - */ - AndroidView( - modifier = Modifier.fillMaxSize(), - factory = { context -> - WebView(context).apply { - layoutParams = ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.MATCH_PARENT - ) - this.webViewClient = webViewClient - this.webChromeClient = webViewChromeClient - this.settings.apply { - javaScriptEnabled = true - domStorageEnabled = true - allowFileAccess = true - allowContentAccess = true - } - loadUrl(url) - } - }) -} - -// Function to generate a Toast -private fun permissionRequiredToast(context: Context) { - Toast.makeText( - context, - context.getString(R.string.camera_permission_mandatory), - Toast.LENGTH_LONG - ).show() -} \ No newline at end of file diff --git a/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/CameraView.kt b/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/CameraView.kt deleted file mode 100644 index 6a650b9..0000000 --- a/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/CameraView.kt +++ /dev/null @@ -1,138 +0,0 @@ -package io.ballerine.kmp.android_webview - -import android.content.Context -import android.graphics.drawable.Icon -import android.net.Uri -import android.util.Log -import androidx.camera.core.CameraSelector -import androidx.camera.core.ImageCapture -import androidx.camera.core.ImageCaptureException -import androidx.camera.core.Preview -import androidx.camera.lifecycle.ProcessCameraProvider -import androidx.camera.view.PreviewView -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalLifecycleOwner -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.unit.dp -import androidx.compose.ui.viewinterop.AndroidView -import androidx.core.content.ContextCompat -import java.io.File -import java.text.SimpleDateFormat -import java.util.* -import java.util.concurrent.Executor -import kotlin.coroutines.resume -import kotlin.coroutines.suspendCoroutine - -@Composable -fun CameraView( - isOpenFrontCamera: Boolean, - outputDirectory: File, - executor: Executor, - onImageCaptured: (Uri) -> Unit, - onError: (ImageCaptureException) -> Unit -) { - val lensFacing: Int = - if (isOpenFrontCamera) CameraSelector.LENS_FACING_FRONT else CameraSelector.LENS_FACING_BACK - val context = LocalContext.current - val lifecycleOwner = LocalLifecycleOwner.current - - val preview = Preview.Builder().build() - val previewView = remember { PreviewView(context) } - val imageCapture: ImageCapture = remember { ImageCapture.Builder().build() } - val cameraSelector = CameraSelector.Builder() - .requireLensFacing(lensFacing) - .build() - - LaunchedEffect(lensFacing) { - val cameraProvider = context.getCameraProvider() - cameraProvider.unbindAll() - cameraProvider.bindToLifecycle( - lifecycleOwner, - cameraSelector, - preview, - imageCapture - ) - - preview.setSurfaceProvider(previewView.surfaceProvider) - } - - //Screen - Box(contentAlignment = Alignment.BottomCenter, modifier = Modifier.fillMaxSize()) { - AndroidView({ previewView }, modifier = Modifier.fillMaxSize()) - - IconButton( - modifier = Modifier.padding(bottom = 20.dp), - onClick = { - Log.d("takePhoto", "ON CLICK") - takePhoto( - imageCapture = imageCapture, - outputDirectory = outputDirectory, - executor = executor, - onImageCaptured = onImageCaptured, - onError = onError - ) - }, - content = { - Icon( - painter = painterResource(id = R.drawable.ic_baseline_camera_24), - contentDescription = stringResource(R.string.take_picture), - tint = Color.White, - modifier = Modifier - .fillMaxSize(0.2f) - ) - } - ) - } -} - -private fun takePhoto( - imageCapture: ImageCapture, - outputDirectory: File, - executor: Executor, - onImageCaptured: (Uri) -> Unit, - onError: (ImageCaptureException) -> Unit -) { - - val photoFile = File( - outputDirectory, - SimpleDateFormat( - "yyyy-MM-dd-HH-mm-ss-SSS", - Locale.US - ).format(System.currentTimeMillis()) + ".jpg" - ) - - val outputOptions = ImageCapture.OutputFileOptions.Builder(photoFile).build() - - imageCapture.takePicture(outputOptions, executor, object : ImageCapture.OnImageSavedCallback { - override fun onError(exception: ImageCaptureException) { - Log.e("onError", "Take photo error:", exception) - onError(exception) - } - - override fun onImageSaved(outputFileResults: ImageCapture.OutputFileResults) { - val savedUri = Uri.fromFile(photoFile) - onImageCaptured(savedUri) - } - }) -} - -private suspend fun Context.getCameraProvider(): ProcessCameraProvider = - suspendCoroutine { continuation -> - ProcessCameraProvider.getInstance(this).also { cameraProvider -> - cameraProvider.addListener({ - continuation.resume(cameraProvider.get()) - }, ContextCompat.getMainExecutor(this)) - } - } \ No newline at end of file diff --git a/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/VerificationResult.kt b/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/VerificationResult.kt deleted file mode 100644 index 3f98a2a..0000000 --- a/ballerine-android-sdk/src/main/java/io/ballerine/kmp/android_webview/VerificationResult.kt +++ /dev/null @@ -1,11 +0,0 @@ -package io.ballerine.kmp.android_webview - -import androidx.annotation.Keep - -@Keep -data class VerificationResult( - val isSync: Boolean, - val status: String?, - val idvResult: String?, - val code: String?, -) diff --git a/ballerine-android-sdk/src/main/res/drawable/ic_baseline_camera_24.xml b/ballerine-android-sdk/src/main/res/drawable/ic_baseline_camera_24.xml deleted file mode 100644 index b92a6e2..0000000 --- a/ballerine-android-sdk/src/main/res/drawable/ic_baseline_camera_24.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/ballerine-android-sdk/src/main/res/values/strings.xml b/ballerine-android-sdk/src/main/res/values/strings.xml deleted file mode 100644 index a50c194..0000000 --- a/ballerine-android-sdk/src/main/res/values/strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Take picture - Allow camera access to continue - Camera access permission is mandatory - \ No newline at end of file diff --git a/ballerine-android-sdk/src/test/java/io/ballerine/kmp/android_webview/ExampleUnitTest.kt b/ballerine-android-sdk/src/test/java/io/ballerine/kmp/android_webview/ExampleUnitTest.kt deleted file mode 100644 index b27f67e..0000000 --- a/ballerine-android-sdk/src/test/java/io/ballerine/kmp/android_webview/ExampleUnitTest.kt +++ /dev/null @@ -1,17 +0,0 @@ -package io.ballerine.kmp.android_webview - -import org.junit.Test - -import org.junit.Assert.* - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} \ No newline at end of file diff --git a/iosApp/Podfile.lock b/iosApp/Podfile.lock index 876aade..89c2580 100644 --- a/iosApp/Podfile.lock +++ b/iosApp/Podfile.lock @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../shared" SPEC CHECKSUMS: - shared: 07cac7993e4f05eda6b76f3a213b070947c3b79f + shared: 7b4d6aa8aa7ada5f9dae3229e2524d316cb9f063 PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 -COCOAPODS: 1.11.2 +COCOAPODS: 1.11.3 diff --git a/iosApp/Pods/Local Podspecs/shared.podspec.json b/iosApp/Pods/Local Podspecs/shared.podspec.json index 2253dab..2e951fb 100644 --- a/iosApp/Pods/Local Podspecs/shared.podspec.json +++ b/iosApp/Pods/Local Podspecs/shared.podspec.json @@ -3,13 +3,15 @@ "version": "1.0", "homepage": "Link to the Shared Module homepage", "source": { - "http": "" + "git": "Not Published", + "tag": "Cocoapods/shared/1.0" }, "authors": "", "license": "", "summary": "Some description for the Shared Module", "vendored_frameworks": "build/cocoapods/framework/shared.framework", "libraries": "c++", + "module_name": "shared_umbrella", "platforms": { "ios": "14.1" }, @@ -22,7 +24,7 @@ "name": "Build shared", "execution_position": "before_compile", "shell_path": "/bin/sh", - "script": " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n" + "script": " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=$CONFIGURATION\n" } ] } diff --git a/iosApp/Pods/Manifest.lock b/iosApp/Pods/Manifest.lock index 876aade..89c2580 100644 --- a/iosApp/Pods/Manifest.lock +++ b/iosApp/Pods/Manifest.lock @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../shared" SPEC CHECKSUMS: - shared: 07cac7993e4f05eda6b76f3a213b070947c3b79f + shared: 7b4d6aa8aa7ada5f9dae3229e2524d316cb9f063 PODFILE CHECKSUM: f282da88f39e69507b0a255187c8a6b644477756 -COCOAPODS: 1.11.2 +COCOAPODS: 1.11.3 diff --git a/iosApp/Pods/Pods.xcodeproj/project.pbxproj b/iosApp/Pods/Pods.xcodeproj/project.pbxproj index a2f8029..124d1e8 100644 --- a/iosApp/Pods/Pods.xcodeproj/project.pbxproj +++ b/iosApp/Pods/Pods.xcodeproj/project.pbxproj @@ -9,9 +9,9 @@ /* Begin PBXAggregateTarget section */ 8777C9F6889E59EFFD631D80AEE9048B /* shared */ = { isa = PBXAggregateTarget; - buildConfigurationList = 4A85E56EFB3170251B1CB14EB8485EF5 /* Build configuration list for PBXAggregateTarget "shared" */; + buildConfigurationList = 9FAF69EFFAE27522789F3CA719BA83DE /* Build configuration list for PBXAggregateTarget "shared" */; buildPhases = ( - 179B9B8F4A300C109F0453B82420AE1B /* [CP-User] Build shared */, + 4552119A071AC6BAB7327E6434237EC3 /* [CP-User] Build shared */, ); dependencies = ( ); @@ -241,7 +241,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 179B9B8F4A300C109F0453B82420AE1B /* [CP-User] Build shared */ = { + 4552119A071AC6BAB7327E6434237EC3 /* [CP-User] Build shared */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -249,7 +249,7 @@ name = "[CP-User] Build shared"; runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=\"$CONFIGURATION\"\n"; + shellScript = " if [ \"YES\" = \"$COCOAPODS_SKIP_KOTLIN_BUILD\" ]; then\n echo \"Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"\"\n exit 0\n fi\n set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" $KOTLIN_PROJECT_PATH:syncFramework -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME -Pkotlin.native.cocoapods.archs=\"$ARCHS\" -Pkotlin.native.cocoapods.configuration=$CONFIGURATION\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -312,9 +312,9 @@ }; name = Release; }; - 3066F7A489148C939EF53B3A8E6B8340 /* Debug */ = { + 1B6EAB28480B60AB33A8B63338687E30 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 95B09EA82E7AF9ACCCCAF3E55C859116 /* shared.debug.xcconfig */; + baseConfigurationReference = 35548E3BD8DA30925E8FE97E67B84868 /* shared.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -326,8 +326,9 @@ ); SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; 593F10BFFA94DAC7D6E17FB8A7F32D72 /* Release */ = { isa = XCBuildConfiguration; @@ -494,9 +495,9 @@ }; name = Debug; }; - CB19B582990BFAF5DB94DC6DB89853A9 /* Release */ = { + F80DE7EBDDFC80B4D52BCACF2249C6B6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 35548E3BD8DA30925E8FE97E67B84868 /* shared.release.xcconfig */; + baseConfigurationReference = 95B09EA82E7AF9ACCCCAF3E55C859116 /* shared.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -508,9 +509,8 @@ ); SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ @@ -524,20 +524,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4A85E56EFB3170251B1CB14EB8485EF5 /* Build configuration list for PBXAggregateTarget "shared" */ = { + 9F1E85ECB672A0CC96333A6C6DF60EE6 /* Build configuration list for PBXNativeTarget "Pods-iosApp" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3066F7A489148C939EF53B3A8E6B8340 /* Debug */, - CB19B582990BFAF5DB94DC6DB89853A9 /* Release */, + AF088B6CD92A52AC4DCB62DEEC871231 /* Debug */, + 02DDCCED053337F381DEBAFDEC6F354F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9F1E85ECB672A0CC96333A6C6DF60EE6 /* Build configuration list for PBXNativeTarget "Pods-iosApp" */ = { + 9FAF69EFFAE27522789F3CA719BA83DE /* Build configuration list for PBXAggregateTarget "shared" */ = { isa = XCConfigurationList; buildConfigurations = ( - AF088B6CD92A52AC4DCB62DEEC871231 /* Debug */, - 02DDCCED053337F381DEBAFDEC6F354F /* Release */, + F80DE7EBDDFC80B4D52BCACF2249C6B6 /* Debug */, + 1B6EAB28480B60AB33A8B63338687E30 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/Pods-iosApp.xcscheme b/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/Pods-iosApp.xcscheme new file mode 100644 index 0000000..5163bf6 --- /dev/null +++ b/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/Pods-iosApp.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/shared.xcscheme b/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/shared.xcscheme new file mode 100644 index 0000000..a901214 --- /dev/null +++ b/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/shared.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/xcschememanagement.plist b/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..7dce8f0 --- /dev/null +++ b/iosApp/Pods/Pods.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,21 @@ + + + + + SchemeUserState + + Pods-iosApp.xcscheme + + isShown + + + shared.xcscheme + + isShown + + + + SuppressBuildableAutocreation + + + diff --git a/iosApp/iosApp.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/xcschememanagement.plist b/iosApp/iosApp.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ca1c48c --- /dev/null +++ b/iosApp/iosApp.xcodeproj/xcuserdata/mcgaps.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + iosApp.xcscheme_^#shared#^_ + + orderHint + 2 + + + + diff --git a/iosApp/iosApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/iosApp/iosApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/iosApp/iosApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/iosApp/iosApp.xcworkspace/xcuserdata/mcgaps.xcuserdatad/UserInterfaceState.xcuserstate b/iosApp/iosApp.xcworkspace/xcuserdata/mcgaps.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..495f0c0226101d17a5ab15aade09df99a96ae9d1 GIT binary patch literal 32951 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%0ABFs=Dogt?*4&6 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 literal 0 HcmV?d00001 diff --git a/shared/shared.podspec b/shared/shared.podspec index 8b89b9a..84e76f1 100644 --- a/shared/shared.podspec +++ b/shared/shared.podspec @@ -2,20 +2,24 @@ Pod::Spec.new do |spec| spec.name = 'shared' spec.version = '1.0' spec.homepage = 'Link to the Shared Module homepage' - spec.source = { :http=> ''} + spec.source = { :git => "Not Published", :tag => "Cocoapods/#{spec.name}/#{spec.version}" } spec.authors = '' spec.license = '' spec.summary = 'Some description for the Shared Module' - spec.vendored_frameworks = 'build/cocoapods/framework/shared.framework' - spec.libraries = 'c++' + + spec.vendored_frameworks = "build/cocoapods/framework/shared.framework" + spec.libraries = "c++" + spec.module_name = "#{spec.name}_umbrella" + spec.ios.deployment_target = '14.1' + - + spec.pod_target_xcconfig = { 'KOTLIN_PROJECT_PATH' => ':shared', 'PRODUCT_MODULE_NAME' => 'shared', } - + spec.script_phases = [ { :name => 'Build shared', @@ -31,9 +35,8 @@ Pod::Spec.new do |spec| "$REPO_ROOT/../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \ -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \ -Pkotlin.native.cocoapods.archs="$ARCHS" \ - -Pkotlin.native.cocoapods.configuration="$CONFIGURATION" + -Pkotlin.native.cocoapods.configuration=$CONFIGURATION SCRIPT } ] - end \ No newline at end of file