无法使用iCloud容器启动“app”

时间:2012-07-28 04:32:06

标签: xcode macos icloud

我有一个针对10.7(Lion)平台的OS X应用。我在启用了iCloud的开发机器上使用XCode 4.4。这台机器上的OS X版本是10.8(Mountain Lion)。

我使用开发人员证书实用程序iCloud启用了com.company.appname的APP ID。该实用程序在应用程序ID描述下的iCloud标签旁边显示绿色勾号。

XCode Target/Summary标签我启用Entitlements并添加了iCloud Container com.company.appname。当然,在内部,它前面是Entitlements文件中的团队ID:teamid.com.company.appname

我的Mac上也有一个有效的(绿色勾选)配置文件,其ID相同:teamid.com.company.appname

Derived Data个地点设置为Relative的{​​{1}}。

该应用程序构建正常。但是当我运行它时,我得到XCode/Preferences错误。

如果我从Entitlements下的"Could not launch "appname". Permission denied."列表框中删除iCloud容器ID com.company.appname并构建应用程序,则运行正常。但当然我无法访问为该应用启用的iCloud容器。

过去24小时我一直在研究这个问题。我看过指南;内部iCloud ContainersDeveloping for the App StoreApp Sandbox Design Guide。但我被卡住了。什么地方出了错?

我很绝望,如果你能帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为最可能的问题是AppID,权利和您的配置文件彼此不匹配。 如果您使用这些设置进行大量实验,这很容易发生。如果您使用有效设置创建一个全新的项目,它应该可以直接使用,但如果您转换,更改或编辑现有项目,它可能会被破坏。

不要忘记应用套装ID的10位前缀。这是必需的,尤其是对于iCloud Key-Value-Storage!

  • 登录developer.apple.com,查看AppID选项卡
  • 必要时创建AppID
  • 检查此应用的iCloud设置
  • ABCDE01234.com.domain.app
  • 表格中记下确切的应用标识符
  • 切换回Xcode,在管理器中“设备”标签的“小组”部分更新您的配置文件和权利
  • 转到项目设置,选择应用目标并搜索“代码签名”
  • 确保选择了正确的代码签名标识(请参阅上面的应用程序标识符)
  • 转到摘要标签并输入您的应用ID
  • 打开Entitlements文件并检查是否还有正确的ID。

然后它应该工作。 希望。

编辑:认为将链接添加到应用ID中心会很不错: https://developer.apple.com/certificates/index.action#bundlelist