3

我编写了一个简单的测试应用程序(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");
}

运行输出的应用程序的屏幕截图:

在此处输入图像描述

在尝试查看我是否已正确设置所有内容时,我查看了开发人员配置中心中我的应用程序 ID 的设置(测试应用程序称为 Radio):

在此处输入图像描述

所以这似乎没问题。然后我重新创建了我的配置文件(称为 Radio Dev 2)并检查它是否使用了正确的 App Id:

在此处输入图像描述

好的,所以这似乎也没问题。然后我检查了权利是否打开并且键值容器被激活:

在此处输入图像描述

所以他们被激活了。然后我看了一下文件本身,看看是否有什么跳出来的:

在此处输入图像描述

因此,我在权利文件中看不到任何突如其来的东西。最后,我确认我正在使用我期望的配置文件使用正确的证书对构建进行签名:

在此处输入图像描述

我对此感到很高兴。

所以我很难过。我已经重新生成了所有内容等,但无济于事。

如果有人有任何想法,我将不胜感激。我错过了什么吗?

4

3 回答 3

4

达米安对这个问题的评论为我提供了解决方案。对于使用 Xcode 4.5 的任何人,您需要单击 Ubiquity Containers 框下方的 +。在我这样做之前,没有任何效果。

Xcode

于 2012-12-30T03:16:01.667 回答
0

我遇到了同样的问题。我注意到在我的设备设置中,我没有登录我的 icloud 帐户。一旦完成添加我的帐户 iCloud。问题已解决。

于 2015-02-16T11:05:07.640 回答
0

就我而言,我实现了“为 iCloud 配置项目”部分的“添加文档类型”和“添加导出的 UTI”部分。而且,它不会再保持 return nil 了。

http://www.raywenderlich.com/12816/icloud-and-uidocument-beyond-the-basics-part-3

于 2016-01-28T10:24:02.760 回答