我在 Xcode 中的 Mac 应用程序最近在尝试访问 iCloud 时开始出现奇怪的症状。我的配置文件、代码签名身份等没有任何更改。
但是,在运行此代码时:
id token = [fileManager ubiquityIdentityToken];
NSLog(@"Token is: %@", token);
NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:nil];
NSLog(@"iCloud URL is: %@", iCloudURL);
输出是:
2013-10-28 08:17:12.372 MyApp[21101:303] Token is: (null)
2013-10-28 08:17:12.373 MyApp[21101:303] iCloud URL is: (null)
我觉得这很奇怪,尤其是考虑到我实际上是在这台机器上登录了 iCloud。可以肯定的是,我使用日历进行了快速测试,在 iPhone 上添加了一个事件,并确保它显示在我 Mac 上的日历上。
但我的印象是[fileManager ubiquityIdentityToken];
,无论您的权利、代码签名等是否配置正确,都会返回用户是否登录 iCloud——这表明这不是我的问题,而是系统能力的问题返回这个值。
我已尝试注销(并重新登录)iCloud,并确保在 iCloud 设置中启用了“文档和数据”。