In iOS6, questo metodo restituisce un id unico per ciascun account iCloud:iCloud ubiquityIdentityToken equivalente in iOS5
[[NSFileManager defaultManager] ubiquityIdentityToken]
In iOS5, l'unico modo per controllare se iCloud è disponibile è utilizzando:
[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]
Questo farà per verificare la disponibilità di iCloud in iOS5, ma come faccio a distinguere gli utenti (account iCloud) in iOS5?
Sto sincronizzando i dati principali in iCloud, ma voglio anche essere in grado di utilizzare l'app senza un account iCloud. Quindi non posso usare una cartella .nosync e quindi devo gestire da solo l'accesso ai negozi (assicurandomi che ogni account iCloud possa accedere solo ai propri file). Per fare questo, metto tutti i negozi di Core Data dallo stesso account iCloud nella sua cartella, il nome della cartella viene generato usando l'ubiquityIdentityToken, poiché questo è univoco per ogni account iCloud.
C'è un altro modo per ottenere un UUID basato sull'account iCloud? Per quanto ho indagato, non c'è nulla di unico nell'URLForUbiquityContainerIdentifier che posso usare. O c'è un altro modo in cui posso gestire l'accesso oltre all'utilizzo dell'accesso specifico alla cartella?
questione connessa: An equivalent for ubiquityIdentityToken under OSX 10.7
Prendere nota: il metodo 'ubiquityIdentityToken' non indica la disponibilità del Key Value Store. Anche se l'utente disattiva "Documenti e dati" in iCloud (che renderà il metodo precedente "null"), il Key Value Store sarà comunque disponibile. – Andrew