2013-02-26 22 views
5

In iOS6 Diese Methode liefert eine ID eindeutig für jeden iCloud-Account:iCloud ubiquityIdentityToken äquivalent in iOS5

[[NSFileManager defaultManager] ubiquityIdentityToken] 

In iOS5, den einzigen Weg, um zu überprüfen, ob iCloud verfügbar ist, ist durch die Verwendung:

[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil] 

Dies genügt, um die iCloud-Verfügbarkeit in iOS5 zu überprüfen, aber wie kann ich Benutzer (iCloud-Konten) in iOS5 unterscheiden?

Ich bin Core Daten in der iCloud synchronisieren, aber ich möchte auch die App ohne ein iCloud-Konto verwenden können. Daher kann ich keinen .nosync-Ordner verwenden. Daher muss ich den Zugriff auf die Stores selbst verwalten (stelle sicher, dass jedes iCloud-Konto nur auf seine eigenen Dateien zugreifen kann). Dazu lege ich alle Core Data Stores aus demselben iCloud-Account in einen eigenen Ordner, der Name des Ordners wird mit dem ubiquityIdentityToken generiert, da dieser für jedes iCloud-Konto eindeutig ist.

Gibt es eine andere Möglichkeit, eine UUID basierend auf dem iCloud-Konto zu erhalten? Soweit ich untersucht habe, gibt es im URLForUbiquityContainerIdentifier nichts, was ich verwenden kann. Oder gibt es einen anderen Weg, auf dem ich den Zugriff verwalten kann, abgesehen von der Verwendung des ordnerspezifischen Zugriffs?

Verwandte Frage: An equivalent for ubiquityIdentityToken under OSX 10.7

+0

Hinweis: Die 'ubiquityIdentityToken'-Methode gibt nicht die Verfügbarkeit des Schlüsselwertspeichers an. Selbst wenn der Benutzer "Dokumente & Daten" unter iCloud ausschaltet (wodurch die obige Methode "null" zurückgibt), ist der Schlüsselwertspeicher weiterhin verfügbar. – Andrew

Antwort

2

Nein, es gibt keine API für iOS 5, die diesem Zweck dient.

Die iCloud-Integration von Core Data ist auf iOS 5 ohnehin nicht so zuverlässig. Wenn Sie iCloud über Core Data unterstützen müssen, richten Sie sich nach iOS 6.

+0

Danke für Ihre Antwort. Es ist eine iPad-Anwendung, das bedeutet, dass wir iPads der 1. Generation nicht unterstützen würden. Ich denke, ich muss nach Alternativen für iOS 5 suchen. – mmvie