> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/nfc-wallet-sdk-ios/es/additional-features/handle-visa-multiple-aids.md).

# Gestionar múltiples AID de Visa

## Resumen

Use el SDK de Billetera NFC para gestionar AIDs múltiples de Visa.

Puede leer los AIDs disponibles. También puede actualizar la prioridad y el estado de bloqueo del AID.

## Integración del SDK

Los identificadores de aplicación (AIDs) se exponen a través de `DigitalCard.aidInfoList: [AIDInfo]`.

Para detectar AIDs múltiples, compruebe `DigitalCard.isMultiAID: Bool`.

### Recuperar información del AID

`DigitalCard.aidInfoList: [AIDInfo]` devuelve un arreglo de `AIDInfo` objetos.

Cada `AIDInfo` incluye el AID y metadatos:

* `AIDInfo.aid`: El AID como un `Cadena`.
* `AIDInfo.label`: La etiqueta como un `Cadena`.
* `AIDInfo.lockStatus`: El estado del AID: `.locked` o `.unlocked` (predeterminado).

{% hint style="warning" %}
Solo se admiten tarjetas Visa.

Cuando se llama en una tarjeta que no es Visa:

* `DigitalCard.isMultiAID` siempre devuelve `false`.
* `DigitalCard.aidInfoList` y `DigitalCard.setAIDInfoList(_:)` lanza `clientError`.
  {% endhint %}

{% hint style="info" %}
Un terminal devuelve la palabra de estado `6A81` cuando envía **SELECT** a un AID bloqueado.
{% endhint %}

### Actualizar la prioridad y el estado de bloqueo del AID

Use el `AIDInfo` objetos de `aidInfoList` cuando construya una lista actualizada.

`AIDInfo.lockStatus` es mutable. También puede volver a ordenar la lista para cambiar la prioridad del AID.

El primer elemento de la lista tiene la máxima prioridad.

Para actualizar la configuración del AID:

1. Use el `DigitalCard.aidInfoList: [AIDInfo]` API para recuperar el `AIDInfo` de la tarjeta digital.
2. Cree un nuevo arreglo y actualice el orden y/o `lockStatus`.
3. Aplique la actualización usando `DigitalCard.setAIDInfoList(_:)`.

{% hint style="warning" %}
Al establecer una nueva lista, conserve los mismos `AIDInfo` elementos.

No agregue, elimine ni cambie AIDs o etiquetas. De lo contrario, `DigitalCard.Error.aidInfoListMismatch` es lanzado.
{% endhint %}

### Ejemplo

Este ejemplo reordena AIDs y bloquea un AID.

```swift
var aidInfoList = try await digitalCard.aidInfoList
let isMultiAID = try await digitalCard.isMultiAID
  
var newAIDInfoList: [AIDInfo] = []

// Reordene los elementos según sea necesario:
newAIDInfoList.append(aidInfoList[3])
newAIDInfoList.append(aidInfoList[0])
newAIDInfoList.append(aidInfoList[1])
newAIDInfoList.append(aidInfoList[2])

// Si los elementos no necesitan reordenarse,
// podemos simplemente crear una nueva copia del original:
newAIDInfoList = aidInfoList

// Cambie el lockStatus de los AIDs según sea necesario:
newAIDInfoList[0].lockStatus = .locked
newAIDInfoList[1].lockStatus = .unlocked

// Establezca el nuevo arreglo de objetos `AIDInfo` en el digitalCard:
try await digitalCard.setAIDInfoList(newAIDInfoList)
```

{% hint style="info" %}
`digitalCard.aidInfoList` devuelve una copia de `AIDInfo`.

Mutar el arreglo no actualiza la tarjeta digital. Llame a `setAIDInfoList(_:)` para que los cambios surtan efecto.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payments.thalescloud.io/nfc-wallet-sdk-ios/es/additional-features/handle-visa-multiple-aids.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
