Troubleshooting

Code Obfuscation

Obfuscation is a process of transforming bytecode into a form that is less readable by humans, thus making reverse engineering more difficult.

This process involves removing debugging-related information such as variable tables, line numbers, and renaming packages, classes, and methods.

When embedding the Android SDK into the application, failures may occur.

Obfuscation via DexGuard

When obfuscation is performed using DexGuard, if a failure occurs, use the following rules:

-keep class kotlin.coroutines.**
-keep class kotlinx.coroutines.**

-keep class com.facetec.sdk.** { *; }
-keep class com.acesso.acessobio_android.** { *; }
-keep class io.unico.** { *; }

-keep class br.com.makrosystems.haven.** { *; }
-keep class HavenSDK.**{ *; }
-keep class HavenSDK** { *; }

Obfuscation via ProGuard

When obfuscation is performed using ProGuard, if a failure occurs, use the following rules:

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 on the AppStore, we noticed a block when using the iOS SDK that signaled the use of Bitcode in two internal dependencies when using Cocoapods as the dependency manager. These dependencies are DeviceProfiling and UnicoSdkLogger. To avoid blocking new releases, you can follow the steps below until a permanent fix is included in a future iOS SDK release:

  1. Open the Podfile.

  2. Insert the following lines after the post_install do |installer| command and before the last end:

2.1. If there is already some code, insert it before the existing section;

2.2. If Bitcode has already been removed manually, add the paths explicitly mentioned in framework_paths.;

  1. If the post_install do |installer| command is not present in the Podfile, insert it as follows before the last end:

Source: Bitrise, Xcode 16 release notes, Stackoverflow.

Last updated

Was this helpful?