> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/produtos/idv-suite/flujos-and-integraciones/configuracion-tecnica-del-cliente/sdk-mobile/ios-sdk/modulos/captura-de-nfc.md).

# Captura de NFC

Este componente requer uma versão mínima do iOS13

### Introdução <a href="#id-1-introduccion" id="id-1-introduccion"></a>

O *Componente* tratado no documento atual recebe o nome de ***Componente NFC***. Este é responsável por realizar a leitura de NFC de documentos de identidade e passaportes. Suas principais funcionalidades são as seguintes:

* Gerenciamento interno do sensor de NFC.
* Gerenciamento de permissões.
* Análise de documento.
* Análise do progresso.
* Assistente nos processos de leitura.
* Retorno de todas as informações possíveis a serem lidas
* Retorno de imagens quando estiverem disponíveis para leitura

## Dependências <a href="#id-21-dependencias-requeridas-para-la-integracion" id="id-21-dependencias-requeridas-para-la-integracion"></a>

Para evitar conflitos e problemas de compatibilidade, caso queira instalar o componente em um projeto que contenha uma versão antiga das bibliotecas da Facephi (*Widgets*), eles deverão ser removidos completamente antes da instalação dos componentes da ***SDKMobile***.

### **CocoaPods**

* As dependências obrigatórias que deverão ter sido instaladas previamente (adicionando-as no arquivo Podfile do projeto) são:

```
pod 'FPHISDKMainComponent', '~> $SDK_VERSION'
```

* Para instalar o componente de NFC, deverá ser incluída a seguinte entrada no Podfile da aplicação:

```
pod 'FPHISDKNFCComponent', '~> $NFC_VERSION'
```

### **SPM**

* As dependências obrigatórias que deverão ter sido instaladas previamente são:

```
//HTTPS
https://github.com/facephi-clienters/SDK-SdkPackage-SPM.git
//SSH
git@github.com:facephi-clienters/SDK-SdkPackage-SPM.git

```

* Para instalar o componente de NFC, deverá ser incluído nos módulos do projeto:

```
//HTTPS
https://github.com/facephi-clienters/SDK-NFC_component-SPM.git
//SSH
git@github.com:facephi-clienters/SDK-NFC_component-SPM.git
```

## Controladores disponíveis <a href="#id-4-controladores-disponibles" id="id-4-controladores-disponibles"></a>

| **Controlador** | **Descrição**                        |
| --------------- | ------------------------------------ |
| FNFCController  | Controlador principal de leitura NFC |

## Recepção de erros <a href="#id-7-recepcion-del-resultado" id="id-7-recepcion-del-resultado"></a>

Na parte do erro, **internamente** dispomos da classe NFCPassportReaderError. Este enumerado contém muitos erros específicos que não fornecem informação útil se forem retornados ao integrador, por isso são transformados para um tipo mais simples (**ErrorType**):

* NFC\_CANCEL\_BY\_USER: O usuário cancelou o processo.
* NFC\_COMPONENT\_LICENSE\_ERROR: A licença do componente não está correta.
* NFC\_EMPTY\_LICENSE: A String de licença está vazia.
* NFC\_EXTRACT\_DATA\_ERROR: Erro nos dados extraídos.
* NFC\_INITIALIZATION\_ERROR: Erro de inicialização.
* NFC\_LAST\_COMMAND\_EXPECTED: Erro no comando de finalização
* NFC\_ERROR: Erro geral
* NFC\_ERROR\_DATA: Erro nos dados de entrada
* NFC\_ERROR\_DISABLED: NFC desabilitado
* NFC\_ERROR\_ILLEGAL\_ARGUMENT: NFC com uma tag incorreta
* NFC\_ERROR\_IO: Erro de entrada/saída
* NFC\_ERROR\_NOT\_SUPPORTED: NFC não suportado
* NFC\_ERROR\_TAG\_LOST: Conexão perdida
* NFC\_OPERATION\_NOT\_CREATED: Não há nenhuma operação em andamento.
* NFC\_TIMEOUT: Timeout no processo.

**NOTA**: `NFC_INVALID_MRZ_KEY` *implica que a conexão não pôde ser estabelecida por causa de que os dados de entrada da configuração (documentNumber, birthDate, expiryDate) não estão corretos. Todas as tentativas de leitura para esse NFC falharão enquanto não for inicializado um novo NFCController com os dados corretos.*
