我正在努力将iCloud支持添加到我的收入跟踪应用程序myIncome中,该应用程序目前在Mac app Store中作为1.0版本,并在1.0版本中正常工作。
我只添加了一些代码来获取ubiquity容器并将所选文件上传到iCloud。目前,我正在使用一个块来查看iCloud是否可用于验证发送文件的菜单项。
if ([[NSFileManager defaultManager] URLForUbiquityContainerIdentifier: container] == nil) return NO;
return YES;我已经将密钥添加到授权文件中,并为应用程序创建了一个开发配置文件,其中包含活动的iCloud。
如果启用了代码签名,我会在Console.app中收到这些消息,并且调试器会在带有EXC_BAD_INSTRUCTION的runtime_init中停止
11/4/11 6:52:49.952 PM taskgated: none of the 2 applicable provisioning profile(s) apply
11/4/11 6:52:49.952 PM taskgated: killed com.themikeswan.myIncome[pid 13532] because its use of the com.apple.developer.ubiquity-container-identifiers entitlement is not allowed如果我关闭了代码签名(并清理了项目),那么当我尝试获取ubiquity容器时,我会返回nil,而Console.app会显示以下消息:
11/4/11 10:38:03.549 PM librariand: client process 13863 does not have a valid com.apple.developer.ubiquity-container-identifiers entitlement
11/4/11 10:38:03.550 PM librariand: error in handle_container_path_request: LibrarianErrorDomain/9/The client process does not have a valid com.apple.developer.ubiquity-container-identifiers entitlement我做了一个小的测试应用程序,这是一个核心数据应用程序,有一个启用了iCloud的应用程序ID,并且使用相同的代码,所以在myIncome中显然有一些冲突的东西,我只是不确定到哪里去寻找问题。
有没有其他人遇到过类似的问题,或者有任何想法去哪里寻找?
一旦我让iCloud在myIncome中工作,我计划写一篇教程,让每个人都能从这些知识中受益,因为现在几乎没有关于如何将iCloud添加到Mac应用程序中的信息。
发布于 2011-11-10 11:26:47
答案是删除应用程序的容器。~/Library/Containers/<yourBundleID>
编辑:这里是窗口的一部分,显示了完整的路径和其中的一些容器。

https://stackoverflow.com/questions/8017839
复制相似问题