二进制Itunes Connect无效

时间:2011-01-25 16:57:29

标签: binary itunesconnect iphone

  

可能重复:
  Invalid iPhone Application Binary

我把头发拉过来!!!

我尝试了所有的东西,并且我将我的应用程序提交给itunes连接它总是说:

  

上传已收到

(2分钟后)

  

无效的二进制文件

它让我疯狂,我已经:

  • 清理所有版本

  • 制作了新的Entitlement.plist

  • 检查它是用The构建的 分发概况。

6 个答案:

答案 0 :(得分:33)

检查与您的Apple开发者帐户关联的邮箱,Apple会向您的邮箱发送电子邮件,其中包含一些诊断信息以及如何解决您的问题。

对我来说,苹果发送以下诊断信息。我实际上从未接触过iCound,这真的令人困惑。毕竟,我创建了一个没有Wild-card角色的新应用ID,然后创建了一个新的分发配置文件,并签署了我的应用程序,最终登顶苹果,结果证明是成功的。

  

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

     

具体而言,不支持ProductName中关键字“com.apple.developer.ubiquity-container-identifiers”的值“K8FN29QYP2。*”。

     

无效的代码签名权利 - 您的应用包的签名包含不受支持的权利值。

     

具体而言,不支持ProductName中关键字“com.apple.developer.ubiquity-kvstore-identifier”的值“K8FN29QYP2。*”。

答案 1 :(得分:9)

我也遇到过这种问题,我从Apple商店得到了这种回应。

  

亲爱的开发者,

     

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

     

无效的图标路径 - 在“CFBundleIcons”键下引用的路径中找不到图标:icon114.png

     

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

     

此致

     

iTunes Store团队

答案 2 :(得分:3)

我通过在我的权利plist中添加两个新密钥来修复此问题 - application-identifier和keychain-access-groups:

<plist version="1.0">
<dict>
    <key>application-identifier</key>
    <string>T9YRD11G97.com.duncancampbell.fontagious</string>
    <key>get-task-allow</key>
    <true/>
    <key>keychain-access-groups</key>
    <array>
        <string>T9YRD11G97.com.duncancampbell.fontagious</string>
    </array>
</dict>
</plist>

我在配置文件中从AppID获得了“T9YRD11G97”,在iTunesConnect中从BundleID获得了“com.duncancampbell.fontagious”。

希望这有帮助。

答案 3 :(得分:1)

尝试更新我的应用时,我也遇到了这个问题。自我上次提交以来,我的应用程序唯一真正的变化是增加了iCloud支持。我怀疑我的权利有问题,我从itunesconnect@apple.com提交的机器人收到的错误电子邮件非常可疑。相关部分如下:

Specifically, value "XXXXXXXXXXX.com.mydomain.myappmame" for key
"com.apple.developer.ubiquity-container-identifiers" in 
MyAppName is not supported.

我已将app / domain / team id匿名化为MyAppName / mydomain.com / XXXXXXXXXX。请注意,投诉称“XXXXXXXXXXX.com.mydomain.myappmame”不正确。确实这是不正确的。它应该是“myappname”,而不是带有'm'而不是'n'的“myappmame”。我查看了项目中的权利文件,这是正确的。我查看了我提交给商店的应用包中包含的权利文件,这是正确的。我解压缩了我提交给商店的zip文件,并且权利文件也是正确的。很明显,在

这个问题肯定不会影响到每个人,或者会引起大肆宣传。所以我认为我的应用程序可能存在一些“特殊”的东西,它会调用自动App Store提交处理中的错误。为了验证,我从头开始创建了一个新的空应用程序,启用了iCloud权利,并使用新的应用程序标识符将其提交到App Store。它被接受并且状态变为“等待审核”。所以它通过了集合。 (我立即拒绝了二进制文件,因此不会对其进行审核:)

我设法通过更改我的权利文件解决了这个问题:

<plist version="1.0">
<dict>
    <key>com.apple.developer.ubiquity-container-identifiers</key>
    <array>
        <string>$(TeamIdentifierPrefix)com.mydomain.myappname</string>
    </array>
</dict>
</plist>

到此:

<plist version="1.0">
<dict>
    <key>com.apple.developer.ubiquity-container-identifiers</key>
    <array>
        <string>XXXXXXXXXX.com.mydomain.myappname</string>
    </array>
</dict>
</plist>

我的希望是App Store中执行团队标识符前缀的任何代码都是罪魁祸首,并且以某种方式破坏字符串后面的字符。通过自己做这种替换,也许腐败不会发生,我的应用程序将通过。惊喜!它奏效了。

我浪费了一天时间试图弄明白这一点,但还没有收到Apple支持的回复。但它有点学术性,因为我的应用程序正在等待审核。但我仍然想知道是什么造成了这种情况,Apple已经修复了这个问题。如果我发现了,我会更新这个帖子。

答案 4 :(得分:0)

在我的案例中,我展开了CFBundleIcons字典,然后检查了CFBundleIconFiles中的图标名称。有我的图标的旧名称,所以我更新它,它对我有用。

答案 5 :(得分:-2)

使用StackOverflow上的多个给定解决方案解决了另一个类似问题,试一试here