NSFileManager 的 ubiquityIdentityToken 始终返回 null,即使已登录



我在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设置中启用了"文档和数据"。

此问题已通过从原始小牛GM(内部版本13A598)升级到正式版本(内部版本13A603)来解决。

相关内容

最新更新