Known issues
This page covers known issues that occur in the SDK iOS.
When necessary, issues are treated and new releases with corrections are made available.
Code Obfuscation
This page must be used as a developer's guidebook when obfuscation problems arise during application's deployment.
The client obfuscation framework might affect the SDK behavior, so it is mandatory that the SDK do not be obfuscated by it.
Unico disclaims liability in relation to obfuscation conflicts with the SDK.
Obfuscation is a process of transforming bytecode into a less human-readable form, thus making reverse engineering difficult.
This process consists of removing debugging-related information such as variable tables, number of lines and renaming packages, classes and methods.
When embedding the iOS SDK in the application, crashes or abrupt closures may occur.
Obfuscation by iXGuard
When obfuscating with the iXGuard tool, we suggest using version 4.11.0 or higher.
Shadow at end of flow after upgrade to version 2.4.0
Only for active retry flow.
The responsibility of controlling the flow is delegated to whoever calls the SDK. Therefore, when some form of shadow appears or the screen does not close after a successful capture, one solution is to add a way to release this screen, which may vary depending on the navigation stack used.
For this implementation, add the release's method preferably within the delegate onSuccessSelfie
method.
Below are some examples that can be used:
- Objective-C
- Swift
- (void)onSuccessSelfie:(SelfieResult *)result {
[self dismissViewControllerAnimated:YES completion:nil];
// your code
}
func onSuccessSelfie(_ result: AcessoBio.SelfieResult!) {
navigationController?.popViewController(animated: true)
// your code
}
Bitcode
Error in App Distribution Using Xcode 16
After the official release of Xcode 16 on September 17, 2024, and its use for app distribution in the App Store, we encountered a blockage when using the iOS SDK signaling the use of bitcode
in two internal dependencies when using Cocoapods
as the internal dependency manager. These are DeviceProfiling
and UnicoSdkLogger
.
In order not to block new releases, it is possible to apply the following step-by-step procedure until its definitive correction in a future release of the iOS SDK:
- Open the
Podfile
; - Insert the following lines after the command
post_install do |installer|
and before the lastend
:
bitcode_strip_path = `xcrun --find bitcode_strip`.chop!
def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
framework_path = File.join(Dir.pwd, framework_relative_path)
command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}"
puts "Stripping bitcode: #{command}"
system(command)
end
framework_paths = [
"Pods/unicocheck-ios/DeviceProfiling.xcframework/ios-arm64/DeviceProfiling.framework/DeviceProfiling",
"Pods/unicocheck-ios/UnicoSdkLogger.xcframework/ios-arm64/UnicoSdkLogger.framework/UnicoSdkLogger"
]
framework_paths.each do |framework_relative_path|
strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
end
2.1. If there is already some code, insert it before the existing section;
2.2. If manual bitcode
removal is already being done, explicitly add the paths mentioned in framework_paths
;
- If there is no
post_install do |installer|
command in thePodfile
, insert it as shown below before the lastend
:
post_install do |installer|
bitcode_strip_path = `xcrun --find bitcode_strip`.chop!
def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
framework_path = File.join(Dir.pwd, framework_relative_path)
command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}"
puts "Stripping bitcode: #{command}"
system(command)
end
framework_paths = [
"Pods/unicocheck-ios/DeviceProfiling.xcframework/ios-arm64/DeviceProfiling.framework/DeviceProfiling",
"Pods/unicocheck-ios/UnicoSdkLogger.xcframework/ios-arm64/UnicoSdkLogger.framework/UnicoSdkLogger"
]
framework_paths.each do |framework_relative_path|
strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
end
Source: Bitrise, Xcode 16 release notes, Stackoverflow
Any concerns?
Didn't find something or still need help? If you are already a customer or partner, you can contact us through Help Center.