App Store团队错误说"您的应用包含bitcode"申请提交后

时间:2015-07-20 22:23:55

标签: ios xcode bitcode

我之前从未听说过这个词bitcode,我甚至不知道从哪里开始四处寻找如何解决这个问题。

我正在使用Xcode 7 beta 3并且我已成功上传了我的应用3次,但每次上传时,都会将状态更改为invalid binary

我收到了App Store小组发来的一封电子邮件,说明了这个

  

"无效的可执行文件 - 可执行文件' ESUHSD.app/ESUHSD'包含   位码"

我不知道您需要了解哪些有关该应用的信息,所以我希望能得到任何帮助!

3 个答案:

答案 0 :(得分:4)

首先,我认为您不能提交使用测试版Xcode构建的任何发布应用(即使您定位现有的iOS / WatchKit SDK组合)。

就“bitcode”而言,请访问developer.apple.com并查看关于“app thinning”的WWDC视频,以及下一版本的相关文档。

对于提交测试版的应用程序,这是另一个故事。一般来说,这是可能的,但可能会有一些怪癖; @Jan的答案涵盖了与bitcode有关的Xcode 7 beta的细节。

有关不使用Beta Xcode版本向AppStore提交发布应用的参考资料,请参阅以下帖子(如果您想出Apple的权威文档,那么添加链接会很棒) :

在Apple Developer论坛上,接受的答案是您永远无法使用beta Xcode提交,并且多人声明您从未被允许使用测试版软件提交。有一个部分提到了关于bitcode和提交的解决方法,但有人建议这是因为Xcode 7正式发布后:Apple Forum: Can you submit to the App Store an app built with Xcode 7 as long as you are not targeting iOS 9?

来自StackOverflow:接受的答案同意禁止使用beta Xcode提交应用:Workaround to submit app to app store with Xcode 7

来自StackOverflow:“需要使用Xcode的发布版本编译应用程序”是接受的答案:Submitting iOS app using beta version of xcode?

此外,关于提交到App Store的Apple技术文档说你应该使用最新的Xcode和SDK - 他们没有提到beta版和发行版,但是“最新版”的链接是最新的发布版本的Xcode,可通过Mac App Store获得。见Technical Q&A QA1806: What version of Xcode and SDK should I be using when building for the App Store?

注意:根据OP在beta测试评论中声明的意图进行编辑,而非根据之前的SDK发布版本。

答案 1 :(得分:2)

我已经尝试禁用bitcode和所有其他选项,但它无法正常工作。我一直得到一个无效的可执行文件,即使在更新之前我能够从Xcode 7 b3和swift 2提交测试版本。之后我使用了一些可可豆荚来优化应用程序,现在当我想测试它时,它会抛出这个错误:

Invalid Swift Support - The bundle contains an invalid implementation of Swift. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftSecurity.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCoreGraphics.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftObjectiveC.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftUIKit.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCoreImage.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftDarwin.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftDispatch.dylib' contains bitcode.

Invalid Executable - The executable 'YTDemo.app/Frameworks/libswiftFoundation.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCore.dylib' contains bitcode.

虽然您不需要解决以下问题,但我们想让您了解它们:

缺少推送通知权利 - 您的应用似乎包含用于向Apple推送通知服务注册的API,但应用签名的权利不包含“aps-environment”权利。如果您的应用使用Apple推送通知服务,请确保在配置门户中为推送通知启用了您的应用ID,并在使用包含“aps-environment”权利的配置配置文件对应用进行签名后重新提交。有关详细信息,请参阅“本地和推送通知编程指南”中的“供应和开发”。如果您的应用不使用Apple推送通知服务,则无需执行任何操作。您可以从将来的提交中删除API以停止此警告。如果您使用第三方框架,则可能需要与开发人员联系以获取有关删除API的信息。

完成所需的更正后,您可以重新更新已更正的二进制文件。

答案 2 :(得分:1)

如果需要,您仍然可以提交到AppStore。至少我不得不进行Beta测试。您只需要在Build Settings中禁用Bitcode:

enter image description here

在AppStore为Bitcode做好准备之前,这将消除警告。

请注意,如果您使用Xcode 7提交,则无法邀请外部用户测试应用。只有内部用户可以测试它。