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

时间:2013-10-28 12:22:18

标签: objective-c macos icloud osx-mavericks

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设置中启用了“Documents& Data”。

1 个答案:

答案 0 :(得分:0)

通过从最初的Mavericks GM(build 13A598)升级到正式版本(build 13A603)来解决这个问题。