【问题标题】:How to publish ipa which is produced with xcodebuild build command如何发布使用 xcodebuild build 命令生成的 ipa
【发布时间】:2016-10-27 13:53:02
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ios xcode app-store publish


    【解决方案1】:

    经过一些研究,我发现当我使用xcodebuild build ... 时,Enable Bitcode 设置为Yes -fembed-bitcode-marker 被添加到OTHER_CFLAGS 中用于clang。这个标志只是添加了一个“位码占位符”而不是完整的位码。这是由 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 包含具有完整位码的二进制文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-30
      • 2012-01-10
      • 2016-10-26
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 2019-08-28
      相关资源
      最近更新 更多