7

私はiCloud対応のiPhoneアプリを開発しましたが、私が直面している問題は、ユーザーがアプリのiCloudバックアップをオフにしても、iCloudにバックアップされ、他のデバイスに変更が反映されることです。その方法を知りたいですアプリが iCloud に対応しているかどうかを確認できますか。

デバイスではなくアプリ専用です。デバイスがiCloudに対応しているが、アプリがオフになっている場合、バックアップは必要ありません。

4

2 に答える 2

9

ドキュメントストレージではなくキー値を使用している場合は、代わりにこれを使用することをお勧めします。

id iCloudToken = [[NSFileManager defaultManager] ubiquityIdentityToken];
if ( iCloudToken != nil) {
// User has enabled icloud in your app...
} else {
// Icloud is not enabled for your app...
}

上記の方法をお勧めする理由は、新しい Xcode コンパイラでは、ドキュメント ストレージを使用するかどうかを指定できるようになったためです。キー値ストレージのみを使用することを選択した場合、エンタイトルメントで定義されたコンテナー識別子がないため、NSFileManager チェックは失敗します。ただし、ユーザーがアプリの実行を許可している場合、ubiquityIdentityToken は常に存在します。つまり、ユーザーがアプリに iCloud へのアクセスを許可している場合、常に true または false が発生します。

于 2014-06-03T06:09:50.207 に答える
2

これを使用して、iCloud が有効になっているかどうかを確認してください。

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:nil]; 
NSLog(@"%@", [iCloudURL absoluteString]); 

if(iCloudURL){ 
NSUbiquitousKeyValueStore *iCloudStore = [NSUbiquitousKeyValueStore defaultStore]; 
[iCloudStore setString:@"Success" forKey:@"iCloudStatus"]; 
[iCloudStore synchronize]; // For Synchronizing with iCloud Server 
NSLog(@"iCloud status : %@", [iCloudStore stringForKey:@"iCloudStatus"]); 
}

これは、オン/オフかどうかを示します:)

于 2013-02-26T06:52:00.010 に答える