2012-05-04 8 views
6

Quindi Apple rifiuta le app che utilizzano UDID. Ci sono molti post su questo, ma non riesco a trovare dove è scritto è bello usare OpenUDID.L'UDID di sostituzione con OpenUDID è in questo modo buono?

Quindi forse qualcuno sa se Apple approverà questo? Se OpenUDID ha tutte le funzionalità come UDID?

Forse qualcuno sta utilizzando questo approccio e potrebbe spiegare di più?

risposta

1

Creiamo i nostri UDID in base all'hash dell'indirizzo MAC del dispositivo e all'identificatore del pacchetto. Ciò garantisce che possiamo identificare in modo univoco la nostra app su un dispositivo specifico.

È anche possibile creare un hash basato solo sull'indirizzo MAC se è necessario un ID univoco su più app.

realtà ho scritto un post sul blog su come fare questo e ha fornito alcuni esempi di codice qui:

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

+5

L'indirizzo MAC sarà inaccessibile agli sviluppatori da [iOS 7] (http://techcrunch.com/2013/06/14/ios-7-eliminates-mac-address-as-tracking-option-signaling-final -push-towards-apples-own-ad-identifier-technology /), quindi questo sarà inutile in futuro – Petesh

5

sembra la soluzione più semplice è quello di generare solo il proprio UUID:

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

Se è necessario mantenere questo disinstallazione attraverso/installare cicli, metterlo nel portachiavi, come descritto qui: https://stackoverflow.com/a/11597291/382374

La cosa migliore è che Apple ti suggerisce di farlo.

Buona fortuna!

0

Secondo la mia conoscenza è un buon modo. Allo stesso modo SecureUDID è anche quello che fa la stessa cosa. Usando OpenUDID l'UDID non cambia nemmeno riavvia l'app o reinstalla l'applicazione. Ma se cambi qualsiasi valore di input come kOpenUDIDDomain o kOpenUDIDSlotPBPrefix allora genera un nuovo UDID. Basandosi sui nomi è generare e archiviare in PasteBoard. Se resetti il ​​dispositivo è ancora lo stesso. Personalmente, voto per questo.