binary - 二进制Itunes连接无效




itunesconnect iphone (4)

在StackOverflow上使用多个给定的解决方案解决了另一个类似的问题,请在这里尝试一下

可能重复:
无效的iPhone应用程序二进制文件

我在这上面撕开我的头发!!!

我尝试了所有的东西和evertime我提交我的应用程序到itunes连接它总是说:

上传已收到

(2分钟后)

二进制文件无效

它让我疯了,我已经:

  • 清理所有构建

  • 制作了一个新的Entitlement.plist

  • 检查它是否使用分发配置文件构建。


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

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接受应用程序提交发生的。

当然这个问题不会影响到每个人,或者会引起大肆宣传。 所以我认为我的应用程序可能存在一些“特殊”的东西,它会调用自动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已经修复了这个问题。 如果我发现了,我会更新这个帖子。


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

亲爱的开发者,

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

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

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

问候,

iTunes Store团队


我通过向我的权利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”。

希望这可以帮助。