Red de Respuestas Legales - Conocimientos legales - Cómo identificar el identificador único en Apple ios multi-open

Cómo identificar el identificador único en Apple ios multi-open

En el sistema IOS, existen muchas formas de obtener el identificador único del dispositivo:

1. UDID (Unique Device Identifier)

El nombre completo. de UDID es Identificador Único de Dispositivo. Como su nombre indica, es el código de identificación único del dispositivo IOS de Apple, que consta de 40 caracteres de letras y números.

2. UUID (Identificador único universal)

UUID es la abreviatura de Identificador único universal, y el significado chino es Identificador único universal.

3. Dirección

4. ABRIR UDID

5. Identificador de publicidad (IDFA-identifierForIdentifier)

6. >Vendor son las dos primeras partes de CFBundleIdentifier (formato DNS inverso). Las aplicaciones del mismo operador que se ejecutan en el mismo dispositivo tendrán el mismo valor para este atributo; las aplicaciones de diferentes operadores que se ejecutan en el mismo dispositivo tendrán valores diferentes.

Después de la prueba, siempre que haya una aplicación Tencent en el dispositivo, el valor de identifierForVendor no cambiará después de la reinstalación. Si se eliminan todas las aplicaciones de Tencent, el valor de identifierForVendor cambiará después de la reinstalación.

Desafortunadamente, todos los identificadores anteriores que representan números de dispositivo únicos tienen prohibido su uso en IOS7 o los identificadores obtenidos dos veces después de reinstalar el programa son diferentes.

Dado que los datos almacenados en el sistema IOS están en el sandBox, una vez que se elimina la aplicación, el sandBox ya no existirá. Afortunadamente, hay una excepción y es el llavero.

Normalmente, los sistemas IOS utilizan NSUserDefaults para almacenar información de datos, pero para cierta información privada, como contraseñas, certificados, etc., es necesario utilizar un llavero más seguro.

La información guardada en el llavero no se perderá al eliminar la App. Por lo tanto, puede utilizar la función de llavero para guardar la identificación única del dispositivo.

Entonces, ¿cómo usar keyChain en la aplicación? Necesitamos importar Security.framework. La interfaz de operación del llavero se declara en el archivo de encabezado SecItem.h.

Para usar directamente el método en SecItem.h para operar el llavero, el código que necesita escribir es más complicado. Podemos usar la clase de herramienta encapsulada KeychainItemWrapper para operar el llavero.

KeychainItemWrapper es una clase de encapsulación para acceder a operaciones comunes de llaveros en el ejemplo oficial de Apple "GenericKeychain". Después de descargar el proyecto GenericKeychain en el sitio web oficial,

Solo necesita agregar "KeychainItemWrapper. h" y copie "KeychainItemWrapper.m" a nuestro proyecto e importe Security.framework.

Uso de KeychainItemWrapper:

/** Inicializa un KeychainItemWrapper que guarda cuentas de usuario */

KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"Número de cuenta"

accessGroup:@"YOUR_APP_ID_HERE.com.yourcompany.AppIdentifier"];

//Guardar datos

[wrapper setObject:@"" forKey:(id) kSecAttrAccount];

[wrapper setObject:@"" forKey:(id)kSecValueData];

//Recuperar la contraseña de la cuenta del llavero

NSString *contraseña = [wrapper objectForKey:(id)kSecValueData];

//Borrar configuración

[wrapper resetKeychainItem];

El método "- (El valor del parámetro "forKey" en void)setObject:(id)inObject forKey:(id)key;" debe ser la clave definida en el archivo de encabezado "SecItem.h" en Security.framework. Usar otras cadenas como El programa clave causará errores.