iOS8 - iCloud Drive Key-Value-Store

时间:2015-03-17 12:11:10

标签: ios icloud nsubiquitouskeyvaluestore icloud-drive

对于iOS7我在iCloud keyvalueStore中存储了有关inApp Purchase的用户信息,以便恢复在当前设备和用户的所有其他iOS设备上工作。在用户能够购买之前我正在检查iCloud文件和kvs的数据是否有效以确保,恢复工作......

支票看起来像这样(适用于iOS7):

- (BOOL)isICloudEnabledOnThisDevice
{
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSURL *ubiquityContainerURL = [fileManager URLForUbiquityContainerIdentifier:nil];
    return (ubiquityContainerURL) ? YES : NO;
}

迁移到iOS8并在我的设备上启用iCloud Drive后 - 我注意到此检查始终失败。我希望如果激活一次,kvs会自动迁移到iCloud驱动器 - >所以我假设我只是要修复此检查,如果iCloud驱动器(仅适用于> iOS8)在设备上处于活动状态 - 对吗?

问题是 - 我不确定如何正确检查iOS8,因为API文档并不是非常清楚imho: - /?!

OO

2 个答案:

答案 0 :(得分:0)

好的,解决了 - 由于xcode 5兼容性标志......

,配置文件需要更新

答案 1 :(得分:0)

你应该调用 - [NSFileManager ubiquityIdentityToken]而不是 - [NSFileManager URLForUbiquityContainerIdentifier:],因为它更快。

请参阅https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/index.html#//apple_ref/occ/instp/NSFileManager/ubiquityIdentityToken

上的文档