Ubiquity容器,权利和代码签名的问题不能相互好玩 [英] Issues with Ubiquity container, Entitlements, and code signing not playing nice with each other

查看:211
本文介绍了Ubiquity容器,权利和代码签名的问题不能相互好玩的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为我的收入跟踪应用程序myIncome添加iCloud支持,这是在Mac App Store中作为1.0版本目前的版本,并在1.0版本中工作。

I am working on adding iCloud support to my income tracking app myIncome that is in the Mac App Store as a 1.0 release currently and works as it should in the 1.0 version.

我只添加了代码来获取无处不在的容器,并将选择的文件上传到iCloud。目前我正在使用一个块来查看iCloud是否可用于验证发送文件的菜单项。

I have only added code to get the ubiquity container and upload the selected file to iCloud. Currently I am using a block to to see if iCloud is even available to validate the menu item that sends the file.

if ([[NSFileManager defaultManager] URLForUbiquityContainerIdentifier: container] == nil) return NO;
    return YES;

我已将密钥添加到entitlements文件,并为iCloud启用了应用程序的开发配置文件

I have added the keys to the entitlements file and have a development provisioning profile for the app with iCloud active in it.

如果代码签名打开,我在Console.app中获取这些消息,调试器停止在 runtime_init EXC_BAD_INSTRUCTION

If code signing is on I get these messages in Console.app and the debugger stops in runtime_init with EXC_BAD_INSTRUCTION

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

如果我关闭代码签名)当我尝试获取无处不在的容器时,我回到零,Console.app显示以下消息:

If I turn off code signing (and clean the project) I get back nil when I try to get the ubiquity container and Console.app shows these messages:

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

我做了一个小测试应用程序是一个Core Data应用程序,并有一个启用iCloud的应用程序ID,并使用相同的代码一切正常,所以有明显的冲突在myIncome我只是不知道在哪里寻找这个问题。

I have made a small test app that is a Core Data app and has an iCloud enabled app ID and using the same code everything works so there is clearly something conflicting in myIncome I'm just not sure where to look for the problem.

有其他人遇到类似问题或有任何想法在哪里看?

Has anyone else run into a similar problem or have any ideas where to look?

一旦我得到iCloud在myIncome工作,我计划写一个教程为大家从这个知识中受益,因为几乎没有关于如何添加iCloud到Mac的信息

Once I get iCloud working in myIncome I plan to write up a tutorial for everyone to benefit from this knowledge since there is almost no information on how to add iCloud to a Mac app right now.

推荐答案

原来的答案是删除应用程序的容器。 〜/ Library / Containers /< yourBundleID>

Turns out the answer is to delete the app's container. ~/Library/Containers/<yourBundleID>

编辑:
下面是窗口部分的图像,显​​示完整路径和其中的一些容器。

Here is an image of part of the window showing the full path and some of the containers within it.

这篇关于Ubiquity容器,权利和代码签名的问题不能相互好玩的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆