13

NSUbiquitousKeyValueStoreいくつかの設定データをiCloudに同期するために使用しています。ユーザーが「設定アプリ」でiCloudの「ドキュメントとデータ」項目を無効にすると、NSUbiquitousKeyValueStoreそのデータをiCloudに同期できないことがわかりました。そこで、まずこの設定がオンになっているかどうかを確認したいと思います。このコードスニペットを見つけました:</ p>

    NSURL *ubiq = [[NSFileManager defaultManager] 
                   URLForUbiquityContainerIdentifier:nil];
    NSLog(@"url=%@",ubiq);
    if (!ubiq) {
        UIAlertView *av = [[UIAlertView alloc] initWithTitle:nil message:@"Please enable iCloud in Setting app" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [av show];
        return;

    }

私が知りたいのは、NSUbiquitousKeyValueStore(iCloudドキュメントストレージではなく)使用しただけでも、これが検出する唯一の方法であるかどうかです。より良い代替案はありますか?

4

2 に答える 2

13

基本的にNSUbiquitousKeyValueStoreは、ユーザーが iCloud アカウントを持っていなくても、いつでも利用できます (この場合NSUbiquitousKeyValueStoreは単なるローカル ストレージです)。したがって、一般的には、iCloud アカウントが構成されているかどうかを自分自身やユーザーに尋ねる必要はありません。

本当に確実に知りたい場合は、iOS 5 では、唯一の解決策はあなたが言及しているものです。

于 2012-06-24T03:59:23.073 に答える
5

ドキュメントが更新されたかどうかはわかりませんが、Apple は現在次のように言っています。

特に起動時に iCloud が使用可能かどうかを判断するには、代わりに ubiquityIdentityToken プロパティの値を確認してください。

との両方については、 NSFileManagerを参照してください。ubiquityIdentityTokenURLForUbiquityContainerIdentifier

Apple はURLForUbiquityContainerIdentifier、比較的遅くなる可能性があり、チェックubiquityIdentityTokenは比較的高速であると述べていることにも注意してください。

これは iOS6 以降用です。

于 2014-10-30T22:41:13.030 に答える