iOS

BCC Finger é uma biblioteca destinada a ser integrada em um aplicativo iOS a partir de um .framework arquivo. Ela usa a câmera do dispositivo para tirar uma foto das impressões digitais para fins biométricos.

Este Manual está atualizado para a versão 4.3.0 do BCC Finger Photo iOS.

Requisitos

Instalação

Instalando Dependências

1 - Adicione os Pods a seguir às dependências do aplicativo no Podfile:

pod 'lottie-ios'
circle-info

Se o aplicativo não possuir um Podfile, ele pode ser criado na pasta raiz do seu projeto Xcode usando o comando pod init no terminal.

É 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:

target 'BCCs-Sample' do
	use_frameworks!

	pod 'lottie-ios', '~> 3.3.0'
end

post_install do |installer|
	installer.pods_project.targets.each do |target|
		target.build_configurations.each do |config|
			config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
		end
	end
end
circle-exclamation

2 - Feche seu projeto Xcode e abra no terminal a pasta onde está seu Podfile, então execute:

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

3 - Abra o novo .xcworkspace arquivo.

circle-exclamation

Importando e Configurando

Importando o Projeto

  • Abra o projeto usando o .xcworkspace arquivo.

  • Adicione o FingerPhoto.framework arquivo ao projeto, em seguida adicione-o à lista de frameworks do seu aplicativo.

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

      Se já existir uma pasta de frameworks, recomenda-se 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 sob a seção Frameworks, Libraries, etc.

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

  • Altere a versão target do seu projeto para no mínimo iOS 13.

circle-info

Recomenda-se desativar iPad como target.

Configuração Inicial

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

O valor da chave é uma mensagem a ser exibida ao usuário ao solicitar permissão de uso da câmera. Esse valor pode ficar em branco ou ser preenchido com a mensagem desejada.

Uso

Parâmetros e Construtor

Um exemplo simples de uso da biblioteca é mostrado abaixo:

A classe BCCFingerBuilder recebe os seguintes parâmetros:

  • hostVC: UIViewController - View controller que chama a tela de captura.

  • delegate: BCCFingerDelegate - Interface responsável por notificar eventos de captura (ex.: falha ou sucesso).

A initialize o método também aceita um parâmetro opcional, como mostrado abaixo:

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

A classe BCCFingerBuilder a classe é responsável por tratar a configuração de uso para BCCFinger. Os seguintes parâmetros são aceitos para configurar a captura biométrica e o comportamento do software:

  • setSkipCaptureOption(_ enable: Bool) - Habilita a opção de pular a captura atual.

  • setDebugMode(_ enable: Bool) - Habilita o modo de depuração.

  • buildCaptures(_ captures: BCCFingerCaptureType) - Define o tipo de captura de impressão digital. As opções são:

    • BOTH_HANDS - Ambas as mãos sem polegares.

    • ONLY_LEFT_HAND - Apenas a mão esquerda, sem polegares.

    • ONLY_RIGHT_HAND - Apenas a mão direita, sem polegares.

    • THUMBS - Ambos os polegares.

    • LEFT_THUMB - Apenas o polegar esquerdo.

    • RIGHT_THUMB - Apenas o polegar direito.

    • FULL_HANDS - Ambas as mãos com polegares.

    • FULL_LEFT_HAND - Apenas a mão esquerda, com polegares.

    • FULL_RIGHT_HAND - Apenas a mão direita, com polegares.

  • buildBeginDelaySeconds(_ delay: Float) - Define o atraso para iniciar o ajuste automático do limiar.

  • buildThreshold - Define parâmetros de limiar.

Para referência, a lista completa de parâmetros e valores padrão é:

Valores de Retorno

Os resultados da última captura de impressão digital podem ser recuperados através do fingerCaptureDidFinish método do BCCFingerDelegate interface:

A returnData o objeto contém os seguintes métodos para recuperação de dados:

  • getCapturedFingersIndexes() - Retorna uma lista com o índice de todas as impressões digitais capturadas:

  • getCapturedFingers() - Retorna um mapa que relaciona os índices dos dedos às biometria capturadas.

  • getCapturedFingersData() - Retorna a lista de todas as impressões digitais capturadas:

    • fingerprintPNG - Imagem PNG da impressão digital em escala de cinza.

    • wsqAsBase64 - Imagem WSQ codificada em base64 da impressão digital.

  • getSkippedFingers() - Retorna a lista de índices de todas as capturas de dedos puladas.

A BCCFingerReturnData a classe também contém atributos que armazenam as informações de captura agrupadas por mão:

Esses atributos podem ser nulos sempre que capturas não forem solicitadas para alguma das mãos.

A HandData a classe contém as seguintes informações:

  • capturedFingers - Mapa que relaciona o índice do dedo à imagem da impressão digital.

  • skippedFingers - Lista de índices de todas as capturas de dedos puladas.

  • handsPhoto - Foto original da mão da qual as impressões digitais foram extraídas.

  • thumbPhoto - Foto original do polegar.

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

Recuperando Imagens Originais

É possível obter as imagens originais através da BCCFingerReturnData classe, conforme mostrado abaixo:

Projeto de Exemplo

Este é um projeto de exemplo funcional para uma captura de impressão digital usando o BCC Mobile Finger iOS:

Last updated

Was this helpful?