For the complete documentation index, see llms.txt. This page is also available as Markdown.

iOS

BCC Face é uma biblioteca destinada a ser integrada em uma aplicação iOS a partir de um .framework arquivo.

Ela usa a câmera do dispositivo para tirar uma foto de um rosto para fins biométricos. Ela fornece um teste simples de liveness ativo, exigindo que a pessoa sorria por cerca de um segundo e/ou olhe para a direita ou para a esquerda. O teste de liveness inclui uma opção para falar as instruções, facilitando o fluxo de trabalho para os usuários. Além disso, ela fornece um teste de liveness passivo que pode ser usado para verificar se a foto foi tirada de uma pessoa real sem exigir interação do usuário.

Este manual está atualizado para a versão BCC Face Mobile iOS 4.11.3.

Requisitos

Instalação

Instalando Dependências

1 - Adicione os seguintes Pods às dependências da aplicação no Podfile:

pod 'GoogleMLKit/FaceDetection'

Se a aplicação não possuir um Podfile, ele pode ser criado na pasta raiz do seu projeto Xcode usando o comando pod init no terminal. O Podfile não aparecerá diretamente no Xcode; ele será criado no diretório do projeto.

É preferível usar frameworks dinâmicos. Isso pode ser indicado usando a flag use_frameworks! no Podfile.

Um exemplo de Podfile com um target chamado BCCs-Sample é mostrado abaixo:

platform :ios, '15.0'

target 'BCCs-Sample' do
	use_frameworks!

	pod 'GoogleMLKit/FaceDetection'
	pod 'lottie-ios'
end

post_install do |installer|
	installer.pods_project.targets.each do |target|
		target.build_configurations.each do |config|
			config.build_settings['DEVELOPMENT_TEAM'] = "YOUR_DEVELOPMENT_TEAM_KEY"
			config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
		end
	end
end

2 - Feche o projeto Xcode, abra um terminal e vá até a pasta onde está o Podfile, e então execute:

Após a execução terminar, um arquivo com a extensão .xcworkspace será criado na mesma pasta.

3 - Abra o novo .xcworkspace arquivo.

Importação e Configuração

Importando o Projeto

  • Abra o projeto usando o .xcworkspace arquivo.

  • Adicione o BCCFace.framework arquivo ao projeto, depois adicione-o à lista de frameworks da sua aplicação.

    • Mova o .framework arquivo para a árvore de arquivos do projeto.

    • Se já houver uma pasta de frameworks, é recomendável mover o arquivo para lá.

    • Abra as configurações do projeto.

    • Vá para a aba General .

    • Clique e arraste o .framework para a árvore do projeto na seção Frameworks, Libraries, etc.

  • Altere a configuração BCCFace.framework de Do not embed para Embed & Sign.

  • Altere a versão de destino do seu projeto para um mínimo de iOS 15.

Recomenda-se desativar iPad como destino.

Configuração Inicial

Esta versão não possui dependências do Firebase, nem de uma configuração inicial chamada pelo AppDelegate. A única configuração inicial necessária é que a aplicação deve solicitar permissão de uso da câmera. Para isso, adicione a seguinte chave no arquivo info.plist , na Information Property List:

O valor da chave é uma mensagem que será mostrada ao usuário ao solicitar permissão de uso da câmera. Esse valor pode estar em branco ou preenchido com uma mensagem personalizada.

Uso

Parâmetros e Construtor

Para usar corretamente a biblioteca BCC Face, há alguns parâmetros obrigatórios.

Abaixo é mostrado um exemplo simples de uso da biblioteca:


O BCCFaceBuilder o construtor da classe recebe os seguintes parâmetros:

  • hostVC: UIViewController - Controlador de visualização que chama a tela de captura.

  • delegate: BCCFaceDelegate - Interface responsável por notificar eventos de captura (por exemplo, falha ou sucesso).


O initializeCapture o método também aceita um parâmetro opcional, conforme mostrado abaixo:

Se você quiser que a navegação ocorra por meio de um navigation controller, deve fornecê-lo ao chamar o método.


O BCCFaceBuilder a classe é responsável por lidar com a configuração de uso para BCCFace. Os seguintes parâmetros são aceitos para configurar a captura biométrica e o comportamento do software:

  • buildSmileCheck(with smileProbability: ClosedRange<Float> = 0.5...1.0) - Adiciona sorriso para o teste de liveness e define o limite de aceitação. Este recurso está habilitado por padrão.

  • removeSmileCheck() - Remove o sorriso da verificação de liveness.

  • buildRotationCheck(_ rotationChecks: [HeadRotationCheck], headRotationAngle: ClosedRange<Float> = -6.0...6.0) - Define uma lista de testes de liveness para rotação da cabeça e o ângulo máximo de rotação. Este recurso está habilitado por padrão. As opções de rotação da cabeça são:

  • removeHeadRotation() - Remove a rotação da cabeça da verificação de liveness.

  • addPassiveLiveness() - Adiciona o teste de liveness passivo. Este recurso é usado para verificar se a foto capturada é de uma pessoa real sem exigir qualquer interação do usuário. Para usar este recurso, você DEVE desativar as verificações de liveness ativas (removeSmileCheck() e removeHeadRotation()) que são adicionadas por padrão.

  • buildSpeechSettings(_ speechSettings: SpeechSettings) - Define os critérios para fala de acessibilidade, usando os seguintes parâmetros:

    • volume - O volume do áudio entre 0.0 e 1.0.

    • startsMuted - Define se as instruções começam no mudo ou não (true para mudo).

    • pitch - Define o tom da voz das instruções entre 0.5 (baixo) e 2.0 (alto).

    • speed - Define a velocidade da voz das instruções. Esse valor deve ser positivo.

    Os valores pré-definidos podem ser acessados por meio da variável estática:

  • removeSpeech() - Remove a fala de acessibilidade.

  • setInstructionEnable(_ enable: Bool) – Define se a tela de instruções está ativada ou desativada.

  • forceLanguage(_ language: BCCLanguages?) - Força que as instruções sejam exibidas em um único idioma. Se o idioma do dispositivo não for suportado, o inglês será usado. Os idiomas suportados são:

  • enableFlashButton(_ enable: Bool) – Ativa (true) ou desativa (false) o botão de flash na câmera traseira. Padrão: desativado (false).

  • enableManualCapture(_ enable: Bool) – Ativa (true) ou desativa (false) o botão de captura manual, permitindo que o usuário ignore as verificações automáticas de captura. Ao realizar uma captura manual, o usuário poderá revisar a foto capturada antes de concluir o processo.

  • setImageCompressionFormat(_ format: ImageCompressionFormat) – Define o formato de compressão para uma captura de liveness passivo. As opções disponíveis são .jpeg (padrão) ou .jpeg2000.

  • enableIntegrityValidation(clientSecret: Data, nonce: Data) – Ativa a validação de integridade para a detecção de liveness passivo, adicionando uma camada extra de segurança para garantir a integridade do payload.

Para referência, aqui está uma lista completa de parâmetros e valores padrão:

Aqui está um trecho de código para inicializar uma captura usando apenas o teste de liveness passivo:

Valores de Retorno

Os resultados da última captura facial podem ser recuperados usando o faceCaptureDidFinish método da interface BCCFaceDelegate :

O data o objeto contém as imagens capturadas durante o processo:

As propriedades retornadas são:

  • originalPhoto (imagem) - A foto original tirada pela câmera.

  • croppedPhoto (imagem) - A foto recortada, que é a imagem do rosto recortada da foto original.

  • passiveResult (Data) - Conteúdo do arquivo da coleta para liveness passivo. Está presente apenas se tiver sido capturado com sucesso. É o retorno da coleta para liveness passivo como Dados JPEG. Esses dados podem ser salvos/exportados diretamente para um arquivo ou enviados para a rede (para rede: a codificação do sistema pode ser feita facilmente, por exemplo, string Base64).

Se o usuário abortar a captura, fechando antes de capturar as biometria, o método faceCaptureDidAbort será chamado. Você pode implementar este método para tratar esse cenário.

Projeto de Exemplo

Este é um projeto de exemplo funcional para uma captura facial usando BCC Mobile Face iOS:

Instruções do Agente: Consultando Esta Documentação

Se você precisar de informações adicionais que não estejam diretamente disponíveis nesta página, você pode consultar a documentação dinamicamente fazendo uma pergunta.

Faça uma solicitação HTTP GET na URL da página atual com o parâmetro de consulta ask :

A pergunta deve ser específica, autônoma e escrita em linguagem natural. A resposta conterá uma resposta direta à pergunta e trechos e fontes relevantes da documentação.

Use este mecanismo quando a პასუხa não estiver explicitamente presente na página atual, você precisar de esclarecimentos ou contexto adicional, ou quiser recuperar seções relacionadas da documentação.

Última atualização

Isto foi útil?