【发布时间】:2012-08-09 21:56:26
【问题描述】:
我编写了一个简单的测试应用程序 (Mac/Cocoa) 来连接到 iCloud 中的键值存储。我似乎要跌倒在第一道篱笆上。
您可以在此处查看我的简单应用程序的代码,并且您会看到我没有从“URLForUbiquityContainerIdentifier”调用中获取 URL。
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (!ubiq)
NSLog(@"No iCloud");
else
NSLog(@"Yes iCloud");
}
运行输出的应用的屏幕截图:
在尝试查看我是否已正确设置所有内容时,我查看了开发人员配置中心中我的 App Id 的设置(测试应用称为 Radio):
所以这似乎没问题。然后我重新创建了我的配置文件(称为 Radio Dev 2)并检查它是否使用了正确的 App Id:
好的,所以这似乎也没问题。然后我检查了权利是否已打开并且键值容器已激活:
所以它们被激活了。然后我看了一下文件本身,看看有没有什么东西跳出来:
所以我在权利文件中看不到任何突如其来的东西。最后,我确认我正在使用我期望的配置文件使用正确的证书对构建进行签名:
我对此很满意。
所以我被难住了。我已经重新生成了所有内容,等等,但无济于事。
如果有人有任何想法,我将不胜感激。我错过了什么吗?
【问题讨论】:
-
我必须等待 2 天才能提供自己的答案,但似乎需要打开 iCloud 容器才能使此代码正常工作,即使它没有被使用。
-
它正在被使用,这就是关键值存储所在的地方
标签: objective-c xcode macos cocoa icloud