diff --git a/DemoApp/Gemfile b/DemoApp/Gemfile index ec21e32c..5039155b 100644 --- a/DemoApp/Gemfile +++ b/DemoApp/Gemfile @@ -3,7 +3,6 @@ source 'https://rubygems.org' # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version ruby ">= 2.6.10" -# Cocoapods 1.15 introduced a bug which break the build. We will remove the upper -# bound in the template on Cocoapods with next React Native release. -gem 'cocoapods', '>= 1.13', '< 1.15' -gem 'activesupport', '>= 6.1.7.5', '< 7.1.0' \ No newline at end of file +# Exclude problematic versions of cocoapods and activesupport that causes build failures. +gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1' +gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0' \ No newline at end of file diff --git a/DemoApp/android/app/build.gradle b/DemoApp/android/app/build.gradle index 76aa156c..08e85431 100644 --- a/DemoApp/android/app/build.gradle +++ b/DemoApp/android/app/build.gradle @@ -8,14 +8,14 @@ apply plugin: "com.facebook.react" */ react { /* Folders */ - // The root of your project, i.e. where "package.json" lives. Default is '..' - // root = file("../") - // The folder where the react-native NPM package is. Default is ../node_modules/react-native - // reactNativeDir = file("../node_modules/react-native") - // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen - // codegenDir = file("../node_modules/@react-native/codegen") - // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js - // cliFile = file("../node_modules/react-native/cli.js") + // The root of your project, i.e. where "package.json" lives. Default is '../..' + // root = file("../../") + // The folder where the react-native NPM package is. Default is ../../node_modules/react-native + // reactNativeDir = file("../../node_modules/react-native") + // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen + // codegenDir = file("../../node_modules/@react-native/codegen") + // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js + // cliFile = file("../../node_modules/react-native/cli.js") /* Variants */ // The list of variants to that are debuggable. For those we're going to @@ -49,6 +49,9 @@ react { // // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" // hermesFlags = ["-O", "-output-source-map"] + + /* Autolinking */ + autolinkLibrariesWithApp() } /** @@ -116,6 +119,4 @@ dependencies { } else { implementation jscFlavor } -} - -apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) \ No newline at end of file +} \ No newline at end of file diff --git a/DemoApp/android/app/src/main/AndroidManifest.xml b/DemoApp/android/app/src/main/AndroidManifest.xml index 95677cea..4ee1fc47 100644 --- a/DemoApp/android/app/src/main/AndroidManifest.xml +++ b/DemoApp/android/app/src/main/AndroidManifest.xml @@ -11,6 +11,7 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" + android:supportsRtl="true" android:usesCleartextTraffic="true" tools:ignore="GoogleAppIndexingWarning"> #EC407A--> + diff --git a/DemoApp/android/gradle.properties b/DemoApp/android/gradle.properties index 08fea810..0704c478 100644 --- a/DemoApp/android/gradle.properties +++ b/DemoApp/android/gradle.properties @@ -17,7 +17,6 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true -android.enableJetifier=true android.useAndroidX=true android.useDeprecatedNdk=true diff --git a/DemoApp/android/gradle/wrapper/gradle-wrapper.properties b/DemoApp/android/gradle/wrapper/gradle-wrapper.properties index 634aea48..929c8c8f 100644 --- a/DemoApp/android/gradle/wrapper/gradle-wrapper.properties +++ b/DemoApp/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Wed Apr 19 12:48:49 EEST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-all.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/DemoApp/android/gradlew b/DemoApp/android/gradlew index 2bef1a0f..aa60074f 100755 --- a/DemoApp/android/gradlew +++ b/DemoApp/android/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/DemoApp/android/settings.gradle b/DemoApp/android/settings.gradle index 922e86c0..7d10bf52 100644 --- a/DemoApp/android/settings.gradle +++ b/DemoApp/android/settings.gradle @@ -1,7 +1,10 @@ +pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") } +plugins { id("com.facebook.react.settings") } +extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() } + rootProject.name = 'DemoApp' include ':react-native-jumio-mobilesdk' project(':react-native-jumio-mobilesdk').projectDir = new File(rootProject.projectDir, '../../android') -apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':react-native-jumio-mobilesdk' project(':react-native-jumio-mobilesdk').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-jumio-mobilesdk/android') diff --git a/DemoApp/ios/DemoApp.xcodeproj/project.pbxproj b/DemoApp/ios/DemoApp.xcodeproj/project.pbxproj index c7206606..71ec8ef8 100644 --- a/DemoApp/ios/DemoApp.xcodeproj/project.pbxproj +++ b/DemoApp/ios/DemoApp.xcodeproj/project.pbxproj @@ -1006,11 +1006,19 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -1163,7 +1171,7 @@ INFOPLIST_FILE = DemoApp/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 4.10.0; + MARKETING_VERSION = 4.11.0; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -1190,7 +1198,7 @@ INFOPLIST_FILE = DemoApp/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 4.10.0; + MARKETING_VERSION = 4.11.0; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -1252,6 +1260,7 @@ OTHER_LDFLAGS = "$(inherited)"; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; USE_HERMES = true; }; name = Debug; diff --git a/DemoApp/package.json b/DemoApp/package.json index 8ae7d71e..03584026 100644 --- a/DemoApp/package.json +++ b/DemoApp/package.json @@ -1,6 +1,6 @@ { "name": "DemoApp", - "version": "4.10.0", + "version": "4.11.0", "private": true, "scripts": { "android": "react-native run-android", @@ -10,25 +10,25 @@ "test": "jest" }, "dependencies": { - "react": "18.2.0", - "react-native": "0.74.2", + "react": "18.3.1", + "react-native": "0.75.2", "react-native-jumio-mobilesdk": "file:../" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", - "@react-native/babel-preset": "0.74.84", - "@react-native/eslint-config": "0.74.84", - "@react-native/metro-config": "0.74.84", - "@react-native/typescript-config": "0.74.84", + "@react-native/babel-preset": "0.75.2", + "@react-native/eslint-config": "0.75.2", + "@react-native/metro-config": "0.75.2", + "@react-native/typescript-config": "0.75.2", "@types/react": "^18.2.6", "@types/react-test-renderer": "^18.0.0", "babel-jest": "^29.6.3", "eslint": "^8.19.0", "jest": "^29.6.3", "prettier": "^2.8.8", - "react-test-renderer": "18.2.0", + "react-test-renderer": "18.3.1", "typescript": "5.0.4" }, "engines": { diff --git a/README.md b/README.md index 625a21ac..624108b8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Plugin for React Native Official Jumio Mobile SDK plugin for React Native -This plugin is compatible with version 4.10.0 of the Jumio SDK. +This plugin is compatible with version 4.11.0 of the Jumio SDK. If you have questions, please reach out to your Account Manager or contact [Jumio Support](#support). # Table of Contents @@ -27,7 +27,7 @@ If you have questions, please reach out to your Account Manager or contact [Jumi - [Support](#support) ## Compatibility -We only ensure compatibility with a minimum React Native version of 0.74.2 +We only ensure compatibility with a minimum React Native version of 0.75.2 ## Setup Create React Native project and add the Jumio Mobile SDK module to it. @@ -35,7 +35,7 @@ Create React Native project and add the Jumio Mobile SDK module to it. ```sh react-native init MyProject cd MyProject -npm install --save https://github.com/Jumio/mobile-react.git#v4.10.0 +npm install --save https://github.com/Jumio/mobile-react.git#v4.11.0 cd ios && pod install ``` @@ -407,8 +407,10 @@ Additionally, a post install hook needs to be added to the Podfile to ensure dep ``` post_install do |installer| installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| + if ['iProov', 'DatadogRUM', 'DatadogCore', 'DatadogInternal'].include? target.name + target.build_configurations.each do |config| config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES' + end end end end @@ -421,8 +423,10 @@ If you are working with Xcode 15 and above, please make sure the following lines ``` post_install do |installer| installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| + if ['iProov', 'DatadogRUM', 'DatadogCore', 'DatadogInternal'].include? target.name + target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' + end end end end @@ -452,12 +456,13 @@ For more information, please refer to our [Changelog](https://github.com/Jumio/m If you have any questions regarding our implementation guide please contact Jumio Customer Service at support@jumio.com or https://support.jumio.com. The Jumio online helpdesk contains a wealth of information regarding our service including demo videos, product descriptions, FAQs and other things that may help to get you started with Jumio. Check it out at: https://support.jumio.com. ## Licenses +The source code and software available on this website (“Software”) is provided by Jumio Corp. or its affiliated group companies (“Jumio”) "as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Jumio be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including but not limited to procurement of substitute goods or services, loss of use, data, profits, or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this Software, even if advised of the possibility of such damage. + +In any case, your use of this Software is subject to the terms and conditions that apply to your contractual relationship with Jumio. As regards Jumio’s privacy practices, please see our privacy notice available here: [Privacy Policy](https://www.jumio.com/legal-information/privacy-policy/). + The software contains third-party open source software. For more information, please see [Android licenses](https://github.com/Jumio/mobile-sdk-android/tree/master/licenses) and [iOS licenses](https://github.com/Jumio/mobile-sdk-ios/tree/master/licenses) This software is based in part on the work of the Independent JPEG Group. ## Copyright © Jumio Corp. 268 Lambert Avenue, Palo Alto, CA 94306 - -The source code and software available on this website (“Software”) is provided by Jumio Corp. or its affiliated group companies (“Jumio”) "as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Jumio be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including but not limited to procurement of substitute goods or services, loss of use, data, profits, or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this Software, even if advised of the possibility of such damage. -In any case, your use of this Software is subject to the terms and conditions that apply to your contractual relationship with Jumio. As regards Jumio’s privacy practices, please see our privacy notice available here: [Privacy Policy](https://www.jumio.com/legal-information/privacy-policy/). diff --git a/android/build.gradle b/android/build.gradle index e9d9f70d..e40932d3 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -52,7 +52,7 @@ repositories { } ext { - SDK_VERSION = "4.10.0" + SDK_VERSION = "4.11.0" } dependencies { @@ -61,7 +61,7 @@ dependencies { // Kotlin implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.24" // only for the sample code - implementation "androidx.activity:activity-ktx:1.8.2" + implementation "androidx.activity:activity-ktx:1.9.0" implementation "androidx.multidex:multidex:2.0.1" // Jumio dependencies diff --git a/package-lock.json b/package-lock.json index 0393c1bd..068e1719 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { "name": "react-native-jumio-mobilesdk", - "version": "4.10.0", + "version": "4.11.0", "lockfileVersion": 1 } \ No newline at end of file diff --git a/package.json b/package.json index 6e29ffcf..69fb6b19 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-jumio-mobilesdk", - "version": "4.10.0", + "version": "4.11.0", "description": "Official Jumio Mobile SDK plugin for React Native", "repository": { "type": "git", diff --git a/react-native-jumio-mobilesdk.podspec b/react-native-jumio-mobilesdk.podspec index 49321005..6b4136d2 100644 --- a/react-native-jumio-mobilesdk.podspec +++ b/react-native-jumio-mobilesdk.podspec @@ -23,5 +23,5 @@ Pod::Spec.new do |s| } s.dependency "React-Core" - s.dependency "Jumio", "~> 4.10.0" + s.dependency "Jumio", "~> 4.11.0" end