对于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
答案 0 :(得分:0)
好的,解决了 - 由于xcode 5兼容性标志......
,配置文件需要更新答案 1 :(得分:0)
你应该调用 - [NSFileManager ubiquityIdentityToken]而不是 - [NSFileManager URLForUbiquityContainerIdentifier:],因为它更快。
上的文档