2012-08-13 81 views
3

我写了一个简单的测试应用程序(Mac/Cocoa)来连接到iCloud中的Key-Value存储。我似乎正在落在第一道围栏上。难怪[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]总是返回零

你可以在这里看到我简单的应用程序的代码,你会看到我没有从“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"); 
} 

截图应用与输出运行:

enter image description here

在想看看如果我的一切设置项正确我看着我的应用程序ID(测试应用程序的设置是所谓无线电)的开发商供应中心:

enter image description here

所以这似乎是好的。然后我重新创建了供应配置文件(称为无线开发2),并确认它可以使用正确的应用程序ID:

enter image description here

好了,这也似乎是好的。然后我检查了权利接通和键值容器被激活:

enter image description here

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

enter image description here

所以我看不到任何东西的权利的文件在我跳出。最后,我证实,我用我的预期供应配置文件正确的证书签名的构建:

enter image description here

我是有足够的快乐。

所以我很难过。我已经重新生成了一切,无济于事。

我真的很感激,如果任何人有任何想法。我错过了什么?

+3

我必须等待2天,我能够提供我自己的答案,但它会出现在iCloud的集装箱转向需要此代码工作,即使它没有被使用。 – Damien 2012-08-13 16:50:07

+0

它正在使用那个关键值存储的地方 – 2012-09-17 15:17:40

回答

4

Damien对这个问题的评论对我有帮助。对于任何使用Xcode 4.5的人,您需要点击Ubiquity容器框下面的+。直到我这样做,没有任何工作。

Xcode

0

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