将应用程序提交到使用iCloud的App Store,无效的权利

时间:2012-03-05 07:20:45

标签: ios iphone icloud appstore-approval

我有一个应用程序,我试图提交到应用程序商店。像许多其他人一样,我从应用程序商店批准过程中收到以下电子邮件。其他问题的答案似乎是,从App ID取消选中iCloud,但我的应用程序使用iCloud,我不想失去该功能。这已经解决了吗?

我仔细检查了我的App ID的Bundle Identifier是否与Target Project的Entitlements区域中输入的项目的值相匹配。谢谢你的帮助!

  

亲爱的开发者,

     

我们发现了您最近的二进制文件存在一个或多个问题   提交“XXXXXX”。在您的应用可以审核之前,   必须纠正以下问题:

     

无效的代码签名权利 - 您的应用包的签名   包含不受支持的权利值。为了   com.apple.developer.ubiquity-container-identifiers权利,   数组中的第一个值必须由Apple提供的前缀组成   在配置文件中后跟一个包标识符后缀。   捆绑包标识符必须与您的某个捆绑包标识符匹配   应用程序或您可以用作iCloud的其他应用程序   容器标识符。

     

具体来说,键值为“XXXXXXX.com.xxxx.xxxxxx”   WeHeartApps中的“com.apple.developer.ubiquity-container-identifiers”是   不支持。

     

更正这些问题后,请转到“版本详细信息”页面   并单击“准备上载二进制文件”。继续提交   进程直到应用程序状态为等待上传然后使用   Application Loader上传更正的二进制文件。

     

此致

     

iTunes Store团队

2 个答案:

答案 0 :(得分:3)

对于其他通过iCloud在Mac和iOS设备之间共享数据的应用,如果您尝试首先提交依赖于其他捆绑标识符的平台,您也会遇到此问题。这是因为您尝试与之共享数据的捆绑标识符尚未注册为应用。

解决方案只是首先提交您正在使用其捆绑包标识符的应用程序作为com.apple.developer.ubiquity-container-identifiers权利。

例如,如果您在具有com.mycompany.osx的软件包标识符的Mac应用程序和具有com.mycompany.ios软件包标识符的iOS应用程序之间共享数据,您可能会选择一个作为共享数据存储。如果您选择iOS版本,您的Mac应用程序将将“com.mycompany.ios”值设置为您的普遍存储和iCloud键值存储。在这种情况下,您只需要先提交iOS应用程序,以便“com.mycompany.ios”软件包标识符在Apple端注册为有效的应用程序。

答案 1 :(得分:2)

找到答案,似乎我的配置和分发配置文件不同步。有疑问时;

  1. 删除iOS配置门户上的配置和分发配置文件
  2. 在iOS配置门户上重新创建它们
  3. 在本地删除旧的。
  4. 从门户网站下载新的。
  5. 清理项目
  6. 将新配置文件拖到xcode应用
  7. 做一个新的“Build for Archiving”。 (确保选择iOS设备才能启用此功能)
  8. 最后存档
  9. 转到管理器并验证存档
  10. 提交到应用商店!
  11. 干杯