Problemas conocidos
Esta página contiene los problemas conocidos que ocurren en el SDK Flutter.
Cuando es necesario, se abordan los problemas y se ponen a disposición nuevas versiones con correcciones.
Ofuscación de código
El material de ofuscación está motivado para ayudar al desarrollador a superar los problemas de ofuscación en su aplicación.
El ofuscador del cliente puede afectar el funcionamiento de la SDK, es necesario que el mismo no ofusque el código de la SDK.
Unico se exime de responsabilidad con respecto a los conflictos de ofuscación con la SDK.
La ofuscación es un proceso de transformación del bytecode en una forma menos legible por humanos, lo que dificulta la ingeniería inversa.
Este proceso consiste en eliminar informaciones relacionadas con la depuración, como tablas de variables, número de líneas y renombrar los paquetes, clases y métodos.
Al integrar la SDK Flutter en la aplicación, pueden ocurrir fallas o cierres abruptos.
Ofuscación via DexGuard
Cuando la ofuscación se realizó a través de DexGuard, al ocurrir la falla, use las reglas:
-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** { *; }
Ofuscación via ProGuard
Cuando la ofuscación se realizó a través de ProGuard, al ocurrir la falla, use las reglas:
-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** { *; }
Para la ofuscación ProGuard, disponible en PoC.
Error de bitcode
en la distribución de aplicaciones usando Xcode 16
Después del lanzamiento de la versión oficial de Xcode 16 el 17 de septiembre de 2024 y su uso para la distribución de aplicaciones en la App Store, encontramos un bloqueo al utilizar la SDK de iOS que señalaba el uso de bitcode
en dos dependencias internas al usar Cocoapods
como administrador de dependencias internas, que son DeviceProfiling
y UnicoSdkLogger
.
Con el fin de no bloquear nuevos lanzamientos, es posible aplicar el siguiente paso a paso hasta su corrección definitiva en una futura versión de la SDK de iOS:
- Abrir el archivo
Podfile
; - Insertar las siguientes líneas después del comando
post_install do |installer|
y antes del últimoend
:
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. Si ya hay algún código, insértalo antes del fragmento existente;
2.2. Si ya se está realizando la eliminación manual del bitcode
, añadir explícitamente las rutas mencionadas en framework_paths
;
- Si no hay el comando
post_install do |installer|
en el archivoPodfile
, insertarlo como se muestra a continuación antes del últimoend
:
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
Fuente: Bitrise, Xcode 16 release notes, Stackoverflow
¿Dudas?
¿No encontró algo o aún necesita ayuda? Si ya es cliente o asociado, puede contactarnos a través del Centro de Ayuda.