我正在创建一个 iOS 应用程序并使用 xcodebuild build ...
建立我的项目和xcrun -sdk iphoneos PackageApplication ...
创建 ipa。当我尝试将 ipa 发布到 App Store 时,出现以下错误:
ERROR ITMS-90668: "Invalid Bundle Executable. The executable file 'Project.app/Project' contains incomplete bitcode.
我发现这个问题有一个解决方案——设置
Enable Bitcode
至No
.但这不是我想要的,因为如果我在工作区创建新项目,我还需要为新项目将此选项设置为 No,因为默认值为 Yes
。 .这个问题还有其他解决方案吗?
最佳答案
经过一番研究,我发现当我使用 xcodebuild build ...
和 Enable Bitcode
设置为 Yes
-fembed-bitcode-marker
被添加到 OTHER_CFLAGS
为铿锵。这个标志只是添加了一个“位码占位符”而不是完整的位码。这是由 Apple 完成的,因为位码的生成可能会减慢构建速度。要生成完整的位码 -fembed-bitcode-marker
必须替换为 -fembed-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 包含带有完整位码的二进制文件。
关于ios - 如何发布使用 xcodebuild build 命令生成的 ipa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40286448/