2012-05-04 10 views
6

Así que Apple está rechazando aplicaciones que usan UDID. Hay muchas publicaciones sobre esto, pero no puedo encontrar dónde está escrito, es bueno usar OpenUDID.Reemplazo UDID con OpenUDID es esta buena manera?

Entonces, ¿alguien sabe si Apple aprobará esto? Si OpenUDID tiene todas las características como UDID?

Tal vez alguien está utilizando este enfoque y podría explicar más?

Respuesta

1

Creamos nuestros propios UDID basados ​​en un hash de la dirección MAC del dispositivo y el identificador del paquete. Esto garantiza que podamos identificar de forma única nuestra aplicación en un dispositivo específico.

También puede crear un hash basado únicamente en la dirección MAC si necesita una ID única en varias aplicaciones.

De hecho, he escrito un post sobre cómo hacer esto y proporcionó un código de ejemplo aquí:

https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid

+5

La dirección MAC será inaccesible para los desarrolladores de [iOS 7] (http://techcrunch.com/2013/06/14/ios-7-eliminates-mac-address-as-tracking-option-signaling-final -push-to-apples-own-ad-identifier-technology /), entonces esto será inútil en el futuro – Petesh

5

parece la solución más fácil es simplemente generar su propia UUID:

NSString *UUID() { 
    CFUUIDRef cfuuid = CFUUIDCreate(NULL); 
    NSString *uuid = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, cfuuid); 
    CFRelease(cfuuid); 
    return uuid; 
} 

Si necesita mantener esta desinstalación través/instalar ciclos, lo puso en el llavero como se describe aquí: https://stackoverflow.com/a/11597291/382374

Lo mejor es que Apple sugiere que lo hagas.

¡Buena suerte!

0

Según mi conocimiento, es una buena forma. Del mismo modo, SecureUDID es el que también hace lo mismo. Al usar OpenUDID, el UDID no cambia ni siquiera reinicia la aplicación o reinstala la aplicación. Pero si cambias los valores de entrada como kOpenUDIDDomain o kOpenUDIDSlotPBPrefix entonces genera un nuevo UDID. Basados ​​en los nombres que está generando y almacenando en PasteBoard. Si restablece el dispositivo también sigue siendo el mismo. Personalmente voto por esto.

Cuestiones relacionadas