---
title: IOS
description: Usando Xcode: Para importar esta dependencia de paquete rápido, en xcode, vaya a la raíz de su aplicación, por ejemplo, ExampleApp.xcodeproj, en la parte superior de PROYECTO, seleccione el elemento E
---

[Ir directamente al contenido](https://docs.ironchip.com/ios#main-content)

Español

Traducciones de Mostrar submenú de

[Contáctanos](https://docs.ironchip.com/kb-tickets/new?hsLang=es) [Portal del cliente](https://support.ironchip.com/tickets?hsLang=es)

[![01\_1-ironchip\_logo\_articulación horizontal\_ppal.png\]](https://docs.ironchip.com/hs-fs/hubfs/01_1-ironchip_logo_articulacio%CC%81n%20horizontal_ppal.png?height=40&name=01_1-ironchip_logo_articulacio%CC%81n%20horizontal_ppal.png)](https://docs.ironchip.com?hsLang=es)

Abrir navegación principal

Cerrar navegación principal

- Español
  
  Traducciones de Mostrar submenú de
- [Contáctanos](https://docs.ironchip.com/kb-tickets/new)
- [Portal del cliente](https://support.ironchip.com/tickets)

 Hola. ¿Cómo podemos ayudarte?

- No hay sugerencias porque el campo de búsqueda está vacío.

1. [Centro de ayuda](https://docs.ironchip.com/?hsLang=es)
2. [Plataforma de detección de fraude](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es)
3. [SDK](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#sdk)

# IOS

### Registro de cambios

### **\[1.2.10\] - 2023-10-11 - hoy en día**

> #### Agregado
> 
> - Detección de comunicación.
> - Tipo de red Sim (2G,3G,4G,5G)
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.2.9\] - 2023-05-18 - 2023-10-11**

> #### Agregado
> 
> - Se agregó la versión sdk al modelo de transacción.
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.2.8\] - 2023-05-12 - 2023-05-12**

> #### Agregado
> 
> #### Cambiado
> 
> #### Eliminado
> 
> - Se modificó el modelo de transacción para eliminar información sobre las tarjetas SIM y eSIM del dispositivo.

**\[1.2.7\] - 2023-03-23 - 2023-05-05** 

> #### Agregado
> 
> - Se ha hecho que Commons se vincule a LBFraud y no se embeba.
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.2.6\] - 2023-03-15 - 2023-03-23**

> #### Agregado
> 
> - Se modificó el modelo de transacción para agregar información sobre las tarjetas SIM y eSIM del dispositivo.
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.2.5\] - 2023-02-02 - 2023-03-15**

> #### Agregado
> 
> #### Cambiado
> 
> - Se modificó el modelo de transacción para agregar los estados de los permisos solicitados.
> - Se modificó el modelo de transacción para agregar si los proveedores de gps y wifi están habilitados.
> 
> #### Eliminado

### **\[1.2.4\] - 2022-12-20 - 2023-02-02**

> #### Agregado
> 
> #### Cambiado
> 
> - Solucionado el problema al validar la aplicación en Apple Store.
> - Logs del servicio de ubicación para las versiones de iOS 13.
> 
> #### Eliminado

### **\[1.2.3\] - 2022-12-09 - 2022-12-20**

> #### Agregado
> 
> #### Cambiado
> 
> - Se solucionó el problema con la identificación de la huella digital.
> - Manejar llamadas HTTP externas.
> 
> #### Eliminado

### **\[1.2.2\] - 2022-11-30 - 2022-12-09**

> #### Agregado
> 
> #### Cambiado
> 
> - Cambiar alguna propiedad del dispositivo en el modelo de transacción.
> 
> #### Eliminado

### **\[1.2.1\] - 2022-11-22 - 2022-11-30**

> #### Agregado
> 
> #### Cambiado
> 
> - Refactorización de nombres de clase.
> - Se cambiaron las etiquetas en los registros para que coincidan con la refactorización.
> - Fraud constructor ya no admite un host de URL, solo permite seleccionar el entorno deseado.
> - Servicio GPS, lanza error cuando el permiso no esta aceptado o la localizacion esta desabilitada
> 
> #### Eliminado

### **\[1.2.0\] - 2022-10-31 - 2022-11-22**

> #### Agregado
> 
> - Debug Logs
> 
> #### Cambiado
> 
> - Cambios en el modelo de transacción.
> - Gestión de nuevos errores en la biblioteca de Commons.
> 
> #### Eliminado
> 
> - Errores de red, ahora lanza los genéricos no personalizados

### **\[1.1.8\] - 2022-10-25 - 2022-10-31**

> #### Agregado
> 
> #### Cambiado
> 
> - La versión 1.1.7 se promociona a 1.1.8 por motivos organizativos.
> 
> #### Eliminado

### **\[1.1.7\] - 2022-10-25 - 2022-10-25**

> #### Agregado
> 
> - Compatibilidad para versiones 13+.
> 
> #### Cambiado
> 
> - Cambiar URL de Nexus a GitHub.
> 
> #### Eliminado

### **\[1.1.6\] - 2022-09-14 - 2022-10-25**

> #### Agregado
> 
> #### Cambiado
> 
> #### Eliminado
> 
> - Prints innecesarios.

### **\[1.1.5\] - 2022-09-14 - 2022-09-14**

> #### Agregado
> 
> - En la libreria de commons, gestion de errores personalizados, y LBFraud los relanza.
> 
> #### Cambiado
> 
> - Cambiar el nombre de los servicios de la libreria commons.
> 
> #### Eliminado

### **\[1.1.4\] - 2022-09-12 - 2022-09-14**

> #### Agregado
> 
> - Agregado el archivo CHANGELOG al proyecto.
> 
> #### Cambiado
> 
> - Se han cambiado los nombres de los parámetros del modelo y su estructura.
> 
> #### Eliminado

### **\[1.1.2\] - 2022-09-03 - 2022-09-12**

> #### Agregado
> 
> #### Cambiado
> 
> - Cambiar el nombre del repositorio de nexus de .xcframework.zip.
> 
> #### Eliminado

### **\[1.1.1\] - 2022-08-27 - 2022-09-03**

> #### Agregado
> 
> - Ahora el proyecto tiene dos .xcframework uno de la libreria Commons y el otro de LBFraud.
> 
> #### Cambiado
> 
> - Ahora el paquete Swift está obteniendo el .xcframework de uno remoto, no local.
> 
> #### Eliminado

### **\[1.1.0\] - 2022-08-24 - 2022-08-27**

> #### Agregado
> 
> ```
> - Archivo de LICENCIA agregado al proyecto.
> ```
> 
> #### Cambiado
> 
> #### Eliminado

### **\[1.0.9\] - 2022-08-23**

> #### Agregado
> 
> ```
> - Primera versión estable de SwiftPackage con un XCFramework llamado LBFraudSDKiOS.xcframework.- Añadido archivo gitignore.
> ```
> 
> #### Cambiado
> 
> #### Eliminado

### Configuración

#### Versiones soportadas

| Plataforma | Versiones soportadas |
| --- | --- |
| iOS | 13.0.0+ |

#### Agregue el SDK de autenticación basada en la ubicación de Ironchip

**Usando Xcode:** Para importar esta dependencia de paquete rápido, en xcode, vaya a la raíz de su aplicación, por ejemplo, ExampleApp.xcodeproj, en la parte superior de **PROYECTO**, seleccione el elemento ExampleApp y vaya a la tercera pestaña, Dependencias del paquete, seleccione el botón +.

Se abrirá una ventana emergente y en la búsqueda o ingrese la url, copie la url del repositorio y presione el botón Agregar paquete.

En este caso: [https://github.com/Ironchip-Security/LBFraud-SDK-iOS.git](https://github.com/Ironchip-Security/LBFraud-SDK-iOS.git)

Aparece una nueva ventana, en regla de dependencia, puede seleccionar una versión exacta, un rango de versiones, una rama… en este caso para probarlo puede elegir la versión exacta 1.2.9 y finalmente agregar el paquete para usarlo, o un rango como 1.0.9 \< 1.2.10, recomendamos para facilitar las actualizaciones de paquetes que utilice un rango de versiones

![](https://docs.ironchip.com/hs-fs/hubfs/addLBFraudSwiftPAckage-png.png?width=684&height=888&name=addLBFraudSwiftPAckage-png.png)

Para poder usar Ironchip LBFraud como SwiftPackage, deberá agregar una capacidad al objetivo de su aplicación, así que vaya a inicio de sesión y capacidades y agregue **acceder a la información de Wi-Fi**.

![](https://docs.ironchip.com/hs-fs/hubfs/setup-ios-lbfraud%20(1)-png.png?width=686&height=323&name=setup-ios-lbfraud%20(1)-png.png)

Luego, en la pestaña Destino de la aplicación en **info**, debe agregar los valores clave del permiso de ubicación.

1. Privacidad - Ubicación siempre y cuando esté en uso Descripción de uso e inserte la descripción como cadena
2. Privacidad - Ubicación cuando está en uso Descripción de uso e inserte la descripción como cadena
3. Privacidad - Ubicación Siempre Descripción de uso e inserté la descripción como cadena
4. LSApplicationQueriesSchemes, inserte la descripción (este permiso es para poder saber si el dispositivo tiene jailbreak)

![](https://docs.ironchip.com/hs-fs/hubfs/setup-ios1-png.png?width=685&height=415&name=setup-ios1-png.png)

En primer lugar, debe solicitar el permiso de ubicación en su aplicación:

```
import CoreLocationlet locationManager = CLLocationManager()locationManager.requestWhenInUseAuthorization()
```

### Uso

### Usar en una aplicación

El método de inicialización de la libreria debe llamarse en el hilo principal.

```
import LBFraudSDKiOS...// Reemplace apikey con la clave API generada deseada.let ironchipLBFraud = LBFraudSDKiOS.init(apikey: "XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")// Por defecto nuestro SDK apunta al entorno de producción.// En caso de que desee apuntar a un entorno diferente:// let ironchipLBFraud = LBFraudSDKiOS.init(apikey: "XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", environment: Environment.Testing)//public enum Environment: String {//    case Production//    case Testing//    case Development//}//Llame a Ironchip Location Based Antifraud para analizar la transacciónlet data: [String: Any] = [    "concept": "Book august",    "amount": 60,    "operation": "booking"]//TransactionID (obligatorio, único): solicitud de identificador de transacción para resultados de fraude//ID de usuario (obligatorio): identificador de usuario//ExtraData (opcional): información extra para análisis// SendTransaction se puede proporcionar con 2 devoluciones de llamada, una se ejecuta cuando finaliza la transacción// y el otro se llama en caso de que haya ocurrido un error durante el proceso de transacción.ironchipLBFraud.sendTransaction(transactionId: "random_identifier_generated", userId: "john.doe@gmail.com", extraData: extraData, finish: {    // Agregue aquí cualquier código que desee que se ejecute una vez finalizada la transacción.    }, onError: { err in    // Añade aquí cualquier código que quieras ejecutar en caso de error    // durante la transacción.    // ejemplo:        //if(err is TransactionError) {            // let transactionError = err as! TransactionError            // print(transactionError.traceability_id)            // print(transactionError.message)            // print(transactionError.http_code)            // print(transactionError.code)        //} else {            // print("NetworkError: ", err)        //}    })
```

### Ejemplo

```
import LBFraudSDKiOSimport Foundationimport CommonCrypto// Reemplaza apikey con la clave API generada deseada.let ironchipLBFraud = LBFraudSDKiOS.init(apikey: "XXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")// Función para realizar el inicio de sesión y llamar a la transacción si es exitosafunc login(username: String, password: String) {    Task {        let loginSuccessful = await performLogin(username: username, password: password)                if loginSuccessful {            // Si el inicio de sesión es exitoso, llama a sendTransaction con los parámetros necesarios            let transactionID = generateRandomTransactionID(length: 10) // Genera un ID de transacción único            let anonymizedUserID = anonymizeUserID(username) // ID de usuario anonimizado            let extraData: [String: Any] = [                "amount": 30, // Usa una cantidad apropiada                "operation": "login" // Especifica la operación            ]            // Llama a sendTransaction después de un inicio de sesión exitoso            await sendTransactionAfterLogin(transactionID: transactionID, anonymizedUserID: anonymizedUserID, extraData: extraData)        } else {            // Manejar el fallo del inicio de sesión        }    }}// Función de inicio de sesión simulado asíncronofunc performLogin(username: String, password: String) async -> Bool {    await Task.sleep(2 * 1_000_000_000)        return true}// Función para enviar la transacción después del inicio de sesión exitosofunc sendTransactionAfterLogin(transactionID: String, anonymizedUserID: String, extraData: [String: Any]) async {    // Envía la transacción    ironchipLBFraud.sendTransaction(transactionId: transactionID, userId: anonymizedUserID, extraData: extraData, finish: {        // Agrega aquí cualquier código que quieras ejecutar después de que la transacción haya terminado.    }, onError: { err in        // Agrega aquí cualquier código que quieras ejecutar en caso de un error durante la transacción.    })}// Función para generar un ID de transacciónfunc generateRandomTransactionID(length: Int) -> String {    let characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"    var randomID = ""    for _ in 0..<length {        if let randomCharacter = characters.randomElement() {            randomID.append(randomCharacter)        }    }    return randomID}// Función para recortar, convertir a minúsculas y hashear el userIdfunc anonymizeUserID(_ userId: String) -> String {    let trimmedLowercaseUserID = userId.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()    return sha256Hash(trimmedLowercaseUserID)}// Función para realizar hashing usando SHA-256func sha256Hash(_ input: String) -> String {    let inputData = Data(input.utf8)    var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))    inputData.withUnsafeBytes {        _ = CC_SHA256($0.baseAddress, CC_LONG(inputData.count), &hash)    }        return hash.map { String(format: "%02x", $0) }.joined()}
```

```

```

```

```

- [Plataforma de identidad](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#main-content)

    - [Componentes](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#componentes)
    - [Guía del usuario](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#gu%C3%ADa-del-usuario)
    - [Guia del administrador](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#guia-del-administrador)
    - [Plataforma de identidad](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#plataforma-de-identidad)
    - [Protocolos de integración](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#protocolos-de-integraci%C3%B3n)
    - [Integraciones](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#integraciones)
    - [SLA](https://docs.ironchip.com/plataforma-de-identidad?hsLang=es#sla)
- [Plataforma de detección de fraude](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#main-content)

    - [Manuales](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#manuales)
    - [Desarrolladores](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#desarrolladores)
    - [SDK](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#sdk)
    - [SLA](https://docs.ironchip.com/plataforma-de-detecci%C3%B3n-de-fraude?hsLang=es#sla)
- [Location intelligence](https://docs.ironchip.com/location-intelligence?hsLang=es)
- [Seguridad y SLA](https://docs.ironchip.com/seguridad-y-sla?hsLang=es)
- [FAQ's](https://docs.ironchip.com/faqs?hsLang=es#main-content)

    - [General](https://docs.ironchip.com/faqs?hsLang=es#general)
    - [Plataforma de identidad](https://docs.ironchip.com/faqs?hsLang=es#plataforma-de-identidad)
- [Partner portal](https://docs.ironchip.com/partner-portal?hsLang=es#main-content)

    - [Partner program](https://docs.ironchip.com/partner-portal?hsLang=es#partner-program)
    - [Documentación identity platform](https://docs.ironchip.com/partner-portal?hsLang=es#documentaci%C3%B3n-identity-platform)
    - [Documentación fraude](https://docs.ironchip.com/partner-portal?hsLang=es#documentaci%C3%B3n-fraude)

[![Ironchip](https://docs.ironchip.com/hs-fs/hubfs/logohubspot.png?width=300&height=74&name=logohubspot.png "Ironchip")](http://www.ironchip.com)

Centro de ayuda ironchip.com

Copyright © 2026, Ironchip Telco S.L.