LivenessFacetecSDK para iOS, problemas comuns de build e dicas de diagnóstico.
Erros de inicialização — LivenessFacetecSDKInitError
Lançados por LivenessFacetecSDKClient.shared.initialize(config:):
Erros de fluxo — LivenessFacetecSDKError
Todo erro de captura chega via LivenessFacetecSDKLivenessState.error(LivenessFacetecSDKError):
Exemplo de tratamento
Problemas comuns de build
Crash em runtime ao iniciar a captura
OInfo.plist não declara NSCameraUsageDescription. O iOS termina o processo assim que o SDK tenta acessar a câmera.
Adicione:
Erro de link library not found for -lLivenessFacetecSDK
O XCFramework não está sendo embarcado no target. Cheque em General → Frameworks, Libraries, and Embedded Content que o pacote está listado e marcado como Embed & Sign.
Erro de deployment target
alreadyInitialized em runtime
initialize() foi chamado enquanto o SDK já estava inicializado. Verifique LivenessFacetecSDKClient.shared.isInitialized antes de chamar. Para reinicializar (ex.: logout ou troca de ambiente), chame stop() primeiro.
Limitação do simulador
Causa técnica: o XCFramework do FaceTec inclui, no slice de simulador (ios-arm64_x86_64-simulator), um binário stub com a classe ZoomStubs. Os métodos de inicialização sempre invocam o completion handler com false, retornando status neverInitialized — independentemente de modo (initializeInDevelopmentMode ou initializeInProductionMode).
O XCFramework inclui o slice de simulador (
arm64 + x86_64) apenas para permitir que o app consumidor compile e linke sem erros. O fluxo de liveness, porém, jamais executa em simulador — ele apenas falha rapidamente.
Testes de fluxo completo de liveness devem ser realizados em dispositivo físico.
Verificação de saúde
Use este checklist quando o SDK não inicializar:1
Confirme o XCFramework correto
Verifique se está usando
LivenessFacetecSDK-1.3.0-Release.xcframework (não uma versão Debug ou um build anterior).2
Confirme conectividade
O dispositivo precisa alcançar os endpoints da Plataforma ID. Teste em uma rede sem proxy/firewall corporativo.
3
Valide o XCFramework
Verifique se
LivenessFacetecSDK-1.3.0-Release.xcframework/ios-arm64/LivenessFacetecSDK.framework/Frameworks/ contém FaceTecSDK.framework e FingerprintPro.framework.4
Confirme a build phase de re-assinatura
Sem ela, qualquer instalação em device físico crasha logo no
dlopen.5
Confirme `NSCameraUsageDescription`
A captura é abortada pelo iOS se essa chave não estiver no
Info.plist.6
Teste em dispositivo físico
O simulador retorna
neverInitialized por design (veja seção acima).Próximos passos
Implementação
Volte para a referência de uso do SDK
Customização
Veja como personalizar a UI do FaceTec