ios - 仅使用 NSUbiquitousKeyValueStore 时,如何以编程方式检测用户设备上是否启用了 iCloud?

标签 ios detect icloud nsubiquitouskeyvaluestore

我正在使用 NSUbiquitousKeyValueStore 将一些偏好数据同步到 iCloud。我发现如果用户在“设置应用程序”中禁用 iCloud 的“文档和数据”项,NSUbiquitousKeyValueStore 无法将其数据同步到 iCloud。所以,我想先检查一下这个设置是否打开了。我找到了这个代码片段:

    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 文档存储)。有更好的选择吗?

最佳答案

基本上,NSUbiquitousKeyValueStore 始终可用,即使用户没有 iCloud 帐户(在这种情况下,NSUbiquitousKeyValueStore 只是一个简单的本地存储)。所以一般情况下,你不需要问自己或用户是否有配置的 iCloud 帐户。

如果您真的想确定,在 iOS 5 中,唯一的解决方案就是您提到的那个。

关于ios - 仅使用 NSUbiquitousKeyValueStore 时,如何以编程方式检测用户设备上是否启用了 iCloud?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11006610/

相关文章:

标签栏 View Controller 中的 ios 后退按钮

Java 应用程序 tcp 连接丢失检测在 Windows 7 中有所不同?

powershell - 如何在没有第二个帐户查询AD的情况下检测AD用户密码是否已过期?

php - 在 php 中检测 mime 类型的正确方法

ios - 如果针对应用程序 ID 禁用 iCloud,iOS 会备份文档文件夹吗?

objective-c - 首次启动时无法识别 iCloud 键值存储

ios - 无法向我的闹钟应用程序发送通知

ios - 如何在点击时更改 UITableViewCell 的高度?

ios - 如何在 iOS swift 中使用 firestore 获取用户的帖子数

iphone - 更多 iCloud 核心数据同步问题