Unico IDCloud - DevCenter
Página inicialAutenticaçãoAPIsSDKs
Portuguese (Brazil)
Portuguese (Brazil)
  • Introdução
  • SOBRE O IDCLOUD
    • Unico IDCloud
    • Capacidades
    • Meios de Integração
    • Capacidades e Meios de Integração
  • INTEGRAÇÃO
    • Guia de início rápido
    • Autenticação
      • Criando uma Conta de Serviço
      • Preparando para fazer uma requisição autenticada à API
      • Recursos adicionais
        • Exemplo em Javascript
        • Erros de autenticação
        • Postman Collection
    • Integração by Unico
      • Visão Geral
      • API
        • API Reference
          • Criação do Processo
            • Criação de processos separados por flows
          • Consultar Resultado do Processo
          • Obter Selfie do Usuário
          • Obter Conjunto Probatório
            • Especificação do conjunto probatório
          • Obter Documento Assinado
          • Obter Conjunto Probatório do Documento Assinado
        • Erros
      • Controlando a experiência
        • Redirecionando o usuário
        • SDK
        • QR Code
        • Personalizações
      • Recursos adicionais
        • Postman Collection
        • PoCs disponíveis
    • Integração by Client
      • Visão Geral
      • API
        • API Reference
          • Prova de vida + Verificação de Identidade + Alerta de comportamento
          • Prova de vida + Verificação de Identidade + Alerta de comportamento + Score de risco
          • Prova de vida + Validação 1:1 + Alerta de comportamento
          • Reaproveitamento e captura de documentos
        • Cenários de response
        • Erros
        • Recursos adicionais
          • Postman Collection
      • Padrão de captura (sem SDK)
    • Webhook
    • SDK
      • Visão Geral
      • Política de atualizações
      • Integração SDKs
        • SDK Android
          • Guia de instalação
          • Guia de uso e integração
            • Captura de Selfie
            • Captura de documento
          • Guia de tratamento de erros
          • Personalização Android
          • Solução de problemas
          • Release notes
        • SDK iOS
          • Guia de instalação
          • Guia de uso e integração
            • Captura de Selfie
            • Captura de documento
          • Guia de tratamento de erros
          • Personalização iOS
          • Solução de problemas
          • Release notes
        • SDK Flutter
          • Guia de instalação
          • Guia de uso e integração
            • Captura de Selfie
            • Captura de documento
          • Guia de tratamento de erros
          • Personalização Flutter
          • Solução de problemas
          • Release notes
        • SDK Web
          • Guia de instalação
          • Guia de uso e integração
            • Captura de Selfie
            • Captura de documento
            • Acessibilidade
          • Guia de tratamento de erros
          • Personalização Web
          • Release notes
      • Recursos adicionais
        • PoCs disponíveis
        • Melhores práticas de implementação da SDK
  • help & faq
    • Glossário
    • FAQs
      • FAQ IDCloud
      • FAQ Autenticação
      • FAQ SDK
    • Central de ajuda
Fornecido por GitBook

Institucional

  • Sobre nós

Copyright © 2024 unico. All rights reserved

Nesta página
  • Ofuscação de código
  • Ofuscação via DexGuard
  • Ofuscação via ProGuard
  • Erro de bitcode na distribuição de aplicativos usando Xcode 16

Isto foi útil?

Exportar como PDF
  1. INTEGRAÇÃO
  2. SDK
  3. Integração SDKs
  4. SDK Flutter

Solução de problemas

Nesta seção, você encontrará a solução de alguns problemas comuns na integração do SDK da plataforma Unico IDCloud em seus aplicativos Android


Ofuscação de código


O material de ofuscação tem por motivação servir de auxilio para o desenvolvedor passar pelos problemas de ofuscação em seu aplicativo.

O ofuscador do cliente pode afetar o funcionamento do SDK, é necessário que o mesmo não ofusque o código do SDK.

A Unico se isenta da responsabilidade em relação à conflitos de ofuscação com a SDK.

O ofuscamento é um processo de transformar o bytecode em uma forma menos legível por humanos, dificultando assim a engenharia reversa.

Esse processo consiste em remover informações relacionadas a depuração como tabelas de variáveis, número de linhas e renomear os pacotes, classes e métodos.

Ao embarcar a SDK Adroid na aplicação podem ocorrer falhas.

Ofuscação via DexGuard


Quando o ofuscamento foi realizado via DexGuard, ao ocorrer a falha utilize as regras:

-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** { *; }

Ofuscação via ProGuard


Quando o ofuscamento foi realizado via ProGuard, ao ocorrer a falha utilize as regras:

-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** { *; }

Erro de bitcode na distribuição de aplicativos usando Xcode 16


Após o lançamento da versão oficial do Xcode 16 no dia 17 de setempro de 2024 e com a sua utilização para distribuição de aplicativos na AppStore, verificamos um bloqueio ao utilizar a SDK iOS sinalizando o uso de bitcode em duas dependências internas ao utilizar o Cocoapods como gerenciador de dependencias internas, são elas o DeviceProfiling e UnicoSdkLogger. A fim de não bloquear novos lançamentos é possível aplicar o seguinte passo-a-passo até a sua definitiva correção em uma release futura da SDK iOS:

  1. Abrir arquivo Podfile;

  2. Inserir as linhas a seguir após comando post_install do |installer| e antes do ultimo end:

    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. Caso já haja algum código, insira antes do trecho existente;

    2.2. Caso já faça a remoção do bitcode manualmente, adicionar os caminhos explicitamente citados em framework_paths;

  3. Caso não haja o comando post_install do |installer| no arquivo Podfile, inserir-lo confrme a seguir antes do último end:

    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

AnteriorPersonalização FlutterPróximoRelease notes

Atualizado há 6 meses

Isto foi útil?

Fonte: , , .

Dúvidas?

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da .

Bitrise
Xcode 16 release notes
Stackoverflow
​
Central de Ajuda