Skip to content

Commit babe337

Browse files
Simplify onboarding flow and update dependencies
Removed detailed customer info fields from the onboarding flow in main.dart, streamlining the verification process. Updated Android and iOS build configurations, including namespace, dependency versions, and packaging options. Improved README instructions and updated Info.plist with new keys for iOS support. Upgraded iOS and Android dependencies for better compatibility and performance.
1 parent e07dfff commit babe337

File tree

7 files changed

+68
-305
lines changed

7 files changed

+68
-305
lines changed

README.md

Lines changed: 1 addition & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -2,110 +2,17 @@
22

33
This repository provides a pre-built UI that uses the ComplyCube SDK. It guides you through the ComplyCube identity verification process, which includes collecting client ID documents, proof of address documents, and biometric selfies.
44

5-
> :information_source: Please get in touch with your **Account Manager** or **[support](https://support.complycube.com/hc/en-gb/requests/new)** to get access to our Mobile SDK.
6-
75
## To run the app
86

9-
### Installing Flutter dependencies
10-
11-
### Install the SDK
12-
13-
Install the Flutter library by running:
14-
15-
```sh
16-
flutter pub add complycube
17-
```
18-
19-
### CocoaPods
20-
21-
1. Before using the ComplyCube SDK, install the CocoaPods plugin by running the following command in your terminal:
22-
23-
```sh
24-
sudo gem install cocoapods
25-
```
26-
27-
2. Open your `ios/Podfile` and add the following configuration:
28-
29-
```ruby
30-
source 'https://github.com/CocoaPods/Specs.git'
31-
32-
platform :iOS, '13.0'
33-
34-
target 'YourApp' do
35-
use_frameworks!
36-
use_modular_headers!
37-
38-
# Other existing pod configurations
39-
40-
post_install do |installer|
41-
installer.pods_project.targets.each do |target|
42-
target.build_configurations.each do |build_configuration|
43-
build_configuration.build_settings['ENABLE_BITCODE'] = 'NO'
44-
build_configuration.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
45-
build_configuration.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.1'
46-
build_configuration.build_settings['ARCHS'] = ['$(ARCHS_STANDARD)', 'x86_64']
47-
build_configuration.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = ['arm64', 'arm64e', 'armv7', 'armv7s']
48-
build_configuration.build_settings['GENERATE_INFOPLIST_FILE'] = 'YES'
49-
end
50-
end
51-
end
52-
53-
$static_frameworks = [
54-
# pods that must be built statically
55-
]
56-
57-
pre_install do |installer|
58-
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
59-
60-
installer.pod_targets.each do |target|
61-
if $static_frameworks.include?(target.name)
62-
puts "Overriding the static_framework method for #{target.name}"
63-
def target.build_type;
64-
Pod::BuildType.static_library
65-
end
66-
end
67-
end
68-
end
69-
end
70-
```
71-
72-
3. Save the `Podfile`.
73-
74-
4. Run `pod install` in your `ios` directory to install the pods and apply the configurations.
75-
76-
#### Application Permissions
77-
78-
Our SDK uses the device camera and microphone for capture. You must add the following keys to your application's `ios/Info.plist` file.
79-
80-
1. `NSCameraUsageDescription`
81-
```xml
82-
<key>NSCameraUsageDescription</key>
83-
<string>Used to capture facial biometrics and documents</string>
84-
```
85-
86-
2. `NSMicrophoneUsageDescription`
87-
```xml
88-
<key>NSMicrophoneUsageDescription</key>
89-
<string>Used to capture video biometrics</string>
90-
```
91-
92-
### Run the apps
93-
947
1. [Create a Client ID](https://docs.complycube.com/documentation/guides/mobile-sdk-guide/mobile-sdk-integration-guide#id-2.-create-a-client).
958
2. [Generate an SDK token](https://docs.complycube.com/documentation/guides/mobile-sdk-guide/mobile-sdk-integration-guide#id-3.-generate-an-sdk-token).
969
3. In the `main.dart` file, replace `CLIENT_ID` and `SDK_TOKEN` with the generated values from the previous steps.
97-
4. Run the Android app:
10+
4. Run the app:
9811

9912
```bash
10013
flutter run
10114
```
10215

103-
5. Run the iOS app:
104-
105-
```bash
106-
flutter run -d ios
107-
```
108-
10916
## Integrating our SDK
11017

11118
For detailed instructions on integrating our SDK, please refer to our [integration guide](https://docs.complycube.com/documentation/guides/mobile-sdk-guide/mobile-sdk-integration-guide).

android/app/build.gradle

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ if (flutterVersionName == null) {
2323
}
2424

2525
android {
26-
namespace "com.complycube.flutter.complycube_example"
26+
namespace "com.complycube.flutter.complycube"
2727
compileSdkVersion flutter.compileSdkVersion
2828
ndkVersion flutter.ndkVersion
2929

@@ -59,6 +59,18 @@ android {
5959
signingConfig signingConfigs.debug
6060
}
6161
}
62+
63+
packagingOptions {
64+
resources {
65+
excludes += [
66+
'META-INF/DEPENDENCIES',
67+
'META-INF/LICENSE',
68+
'META-INF/LICENSE.txt',
69+
'META-INF/NOTICE',
70+
'META-INF/NOTICE.txt'
71+
]
72+
}
73+
}
6274
}
6375

6476
flutter {
@@ -67,4 +79,12 @@ flutter {
6779

6880
dependencies {
6981
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
82+
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.5'
7083
}
84+
85+
configurations.all {
86+
resolutionStrategy {
87+
force 'com.fasterxml.jackson.core:jackson-core:2.13.5'
88+
}
89+
}
90+

android/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
android.useAndroidX=true
2-
android.enableJetifier=true
2+
android.enableJetifier=false
33

44
# Optional: increase memory if needed
55
org.gradle.jvmargs=-Xmx4096M

ios/Podfile

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
source 'https://github.com/CocoaPods/Specs.git'
2-
source 'https://github.com/complycube/complycube-sdk-ios-spec-dev'
3-
# Uncomment this line to define a global platform for your project
42
platform :ios, '13.0'
53

6-
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
74
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
85

96
project 'Runner', {
@@ -29,11 +26,6 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe
2926

3027
flutter_ios_podfile_setup
3128

32-
# plugin 'cocoapods-art', :sources => [
33-
# 'cc-cocoapods-dev-local',
34-
# ]
35-
36-
3729
target 'Runner' do
3830
use_frameworks!
3931
use_modular_headers!
@@ -42,15 +34,35 @@ target 'Runner' do
4234
target 'RunnerTests' do
4335
inherit! :search_paths
4436
end
45-
end
4637

47-
post_install do |installer|
48-
installer.pods_project.targets.each do |target|
49-
flutter_additional_ios_build_settings(target)
50-
target.build_configurations.each do |config|
51-
config.build_settings['ENABLE_BITCODE'] = 'NO'
52-
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
53-
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.1'
38+
post_install do |installer|
39+
installer.pods_project.targets.each do |target|
40+
flutter_additional_ios_build_settings(target)
41+
target.build_configurations.each do |config|
42+
config.build_settings['ENABLE_BITCODE'] = 'NO'
43+
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
44+
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.1'
45+
config.build_settings['GENERATE_INFOPLIST_FILE'] = 'YES' # ✅ fixed variable name
46+
end
47+
end
5448
end
55-
end
49+
50+
51+
$static_frameworks = [
52+
# pods that must be built statically
53+
]
54+
55+
pre_install do |installer|
56+
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
57+
58+
installer.pod_targets.each do |target|
59+
if $static_frameworks.include?(target.name)
60+
puts "Overriding the static_framework method for #{target.name}"
61+
def target.build_type;
62+
Pod::BuildType.static_library
63+
end
64+
end
65+
end
66+
end
5667
end
68+

ios/Podfile.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
PODS:
2-
- Alamofire (5.6.1)
2+
- Alamofire (5.9.0)
33
- Analytics (4.1.8)
44
- complycube (0.2.3):
5-
- ComplyCubeMobileSDK (= 1.3.9)
5+
- ComplyCubeMobileSDK (= 1.3.11)
66
- Flutter
7-
- ComplyCubeMobileSDK (1.3.9):
8-
- Alamofire (= 5.6.1)
7+
- ComplyCubeMobileSDK (1.3.11):
8+
- Alamofire (= 5.9.0)
99
- Analytics (~> 4.1)
1010
- FingerprintPro (= 2.4.0)
1111
- GooglePlaces (= 7.4.0)
1212
- JWTDecode (~> 2.6.3)
1313
- lottie-ios (= 4.5.1)
1414
- Sentry (= 8.49.0)
15-
- SwiftyJSON (= 5.0.1)
15+
- SwiftyJSON (= 5.0.2)
1616
- FingerprintPro (2.4.0)
1717
- Flutter (1.0.0)
1818
- GooglePlaces (7.4.0)
@@ -23,7 +23,7 @@ PODS:
2323
- Sentry (8.49.0):
2424
- Sentry/Core (= 8.49.0)
2525
- Sentry/Core (8.49.0)
26-
- SwiftyJSON (5.0.1)
26+
- SwiftyJSON (5.0.2)
2727

2828
DEPENDENCIES:
2929
- complycube (from `.symlinks/plugins/complycube/ios`)
@@ -51,19 +51,19 @@ EXTERNAL SOURCES:
5151
:path: ".symlinks/plugins/integration_test/ios"
5252

5353
SPEC CHECKSUMS:
54-
Alamofire: 87bd8c952f9a4454320fce00d9cc3de57bcadaf5
54+
Alamofire: 02b772c9910e8eba1a079227c32fbd9e46c90a24
5555
Analytics: 9655e0e1c71ea98107cfcb2b14891168acc6c6c9
56-
complycube: 1a137b6a402c57c786d74b5fb394437e30a51bf0
57-
ComplyCubeMobileSDK: 0bcc2c79ec6baba33ffb778360df1153c1f2b600
56+
complycube: b481dcdff56eeaf90c81c69f7a2da42a9502cc43
57+
ComplyCubeMobileSDK: ef0c08e1f277b9bc810d7fbe43bbc0dc7d4d8b50
5858
FingerprintPro: 550396e390f81754a6ca13991131ea28952c4e48
5959
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
6060
GooglePlaces: 544e908d94860bf6f8fc1865b80d2c7eb6b5f937
6161
integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e
6262
JWTDecode: 33e5e26e5ddbd21b2065820894c08fef0cad9509
6363
lottie-ios: 248b380fa1b97d18e792c37d90da7ab2aa0d6562
6464
Sentry: 5eda2559a20fa0c377b695ed9d7c178a47122891
65-
SwiftyJSON: 2f33a42c6fbc52764d96f13368585094bfd8aa5e
65+
SwiftyJSON: f5b1bf1cd8dd53cd25887ac0eabcfd92301c6a5a
6666

67-
PODFILE CHECKSUM: d20b3ce015bc5ab976aee200b01950ef348995b0
67+
PODFILE CHECKSUM: 4eb039fa20ffe41f7ce37a11bf48a5285fcbe745
6868

6969
COCOAPODS: 1.16.2

ios/Runner/Info.plist

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5+
<key>CADisableMinimumFrameDurationOnPhone</key>
6+
<true/>
57
<key>CFBundleDevelopmentRegion</key>
68
<string>$(DEVELOPMENT_LANGUAGE)</string>
79
<key>CFBundleDisplayName</key>
@@ -24,6 +26,8 @@
2426
<string>$(FLUTTER_BUILD_NUMBER)</string>
2527
<key>LSRequiresIPhoneOS</key>
2628
<true/>
29+
<key>UIApplicationSupportsIndirectInputEvents</key>
30+
<true/>
2731
<key>UILaunchStoryboardName</key>
2832
<string>LaunchScreen</string>
2933
<key>UIMainStoryboardFile</key>
@@ -41,9 +45,5 @@
4145
<string>UIInterfaceOrientationLandscapeLeft</string>
4246
<string>UIInterfaceOrientationLandscapeRight</string>
4347
</array>
44-
<key>CADisableMinimumFrameDurationOnPhone</key>
45-
<true/>
46-
<key>UIApplicationSupportsIndirectInputEvents</key>
47-
<true/>
4848
</dict>
4949
</plist>

0 commit comments

Comments
 (0)