2012-09-26 10 views
15

He usando el siguiente código de identificador getCómo utilizar el identificador ForVendor en ios5.?

 deviceName = [[UIDevice currentDevice]uniqueIdentifier]; 

pero me dio la uniqueIdentifier advertencia está en desuso en IOS5.

Entonces, ¿cómo obtener el valor del identificador en ios5?

+0

posible duplicado de [UIDevice uniqueIdentifier Deprecated - ¿Qué hacer ahora?] (Http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now) –

Respuesta

18

Usted puede utilizar el código siguiente

if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) { 
    // This will run if it is iOS6 or higher 
    return [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 
} else { 
    // This will run before iOS6 and you can use openUDID or other 
    // method to generate an identifier 
} 

Y de esta manera se puede mantener el requisito anterior min.

Este identificador es exclusivo para todas las aplicaciones de un solo proveedor. Si quieres identificador único de dispositivo es necesario utilizar:

if (!NSClassFromString(@"ASIdentifierManager")) { 
    // This will run before iOS6 and you can use openUDID, per example... 
    return [OpenUDID value]; 
} 
return [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; 

Advertencia: Hay un fallo en iOS 6 que informa identificador "nulo" si el dispositivo se actualiza "por el aire" - More info

0

Ya no puede obtener el UUID. Está prohibido hacerlo, su aplicación será rechazada por Apple.

+2

cómo obtener el dispositivo token en ios 6 cualquier idea –

0

el método demostrado por J.Costa es el bueno para iOS 6.

Pero si desea mantener el mismo identificador en su aplicación cuando el usuario actualice su teléfono, o dentro de sus varias aplicaciones (Unle si comparten el mismo ID de semilla Bundle), use esto: https://github.com/blackpixel/BPXLUUIDHandler

¡Muy útil!

+0

BPXLUUIDLa llamada del operador a 'return [[UIDevice currentDevice] uniqueIdentifier];' fallará en un simulador de iPhone 5 (por lo que no estoy seguro de cuál es la razón para proteger TARGET_IPHONE_SIMULATOR). A BPXLUUIDHandler le faltan las constantes de cadena de teclas adecuadas ... El UDID puede aparecer en una Mac o PC a través de iTunes o en la nube de Apple. Los requisitos de seguridad dirigidos por el desarrollador son realmente los pits. – jww

1

en ios 7 es mejor usar [UIDevice identifierForVendor] o tiene problemas, porque solo se devuelve un MAC falso.

Cuestiones relacionadas