如何发布使用xcodebuild build命令生成的ipa

时间:2016-10-27 13:53:03

标签: ios xcode app-store publish

我正在创建一个iOS应用程序,我使用xcodebuild build ...来构建我的项目,并使用xcrun -sdk iphoneos PackageApplication ...来创建ipa。当我尝试将ipa发布到App Store时,我收到以下错误:

  

错误ITMS-90668:"无效的Bundle Executable。可执行文件' Project.app/Project'包含不完整的bitcode。

我发现此问题有一个解决方案 - 将Enable Bitcode设置为No。但这不是我想要的,因为如果我在工作区创建新项目,我需要为新项目将此选项设置为“否”,因为默认值为Yes

这个问题还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

经过一些研究后,我发现当我使用xcodebuild build ... 时,Enable Bitcode设置为Yes-fembed-bitcode-marker被添加到铿锵OTHER_CFLAGS。这个标志只是添加了一个“bitcode占位符”而不是完整的bitcode。这是由Apple完成的,因为bitcode的生成可能会减慢构建速度。要生成完整的bitcode,-fembed-bitcode-marker必须替换为-fembed-bitcode

使用完整的bitcode创建ipa后,我能够将我的应用程序发布到App Store。

我的问题的另一个解决方案是使用xcodebuild archive ...代替xcodebuild build ...来构建我的项目,使用xcodebuild -exportArchive -archivePath <path to the .xcarchive> ...代替xcrun -sdk iphoneos PackageApplication ...来创建我的ipa。使用归档方法时,-fembed-bitcode-marker会自动替换为-fembed-bitcode,而我的ipa包含带有完整bitcode的二进制文件。