【发布时间】:2016-10-03 11:18:33
【问题描述】:
【问题讨论】:
-
好的,我已经在 Build Settings 中打开了 ENABLE_BITCODE 并且必须更新 Facebook Kit 并且它起作用了。
【问题讨论】:
我今天早上早些时候遇到了同样的问题。事实上,答案就在错误中:“验证平台的所有目标是否具有一致的 ENABLE_BITCODE 构建设置值”
我有一个目标(ENABLE_BITCODE 设置为 NO),使用多个将 ENABLE_BITCODE 设置为 YES 的 pod。所以,我所要做的就是在我的项目目标中将 ENABLE_BITCODE 设置为 YES。但我想你有一个选择,你也可以在你正在使用的所有库中将 ENABLE_BITCODE 设置为 NO。
【讨论】:
最简单、最常见的修复方法:
您可以在通过 Xcode 提交应用程序时取消选中“包含 Bitcode”。
如果您使用xcodebuild,您可以使用将exportOptionsPlist 的值设置为false 的exportOptionsPlist。在我的例子中,我们使用xctool 来构建应用程序并且无法传递exportOptionsPlist,因此我们必须从所有框架中删除位码。
如果有人在使用 cocoapods 并想为他们的框架禁用 bitcode,您只需将以下内容添加到您的 podfile 中:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
通过https://stackoverflow.com/a/32685434/1417922
添加更多关于此问题的说明:
看来苹果昨天才开始强制执行。如果您的主二进制文件禁用了位码,但您包含启用了位码的静态库或框架,它将无法通过验证。反之亦然:如果您的主二进制文件启用了位码,但您包含的库/框架禁用了位码,则验证将失败。
我有一些来自 GoogleMaps 和 Amazon 的依赖项,这使得切换所有内容以启用 bitcode 变得不简单,所以我只是禁用了它并从我在项目中导入的一个静态库中删除了 bitcode。您可以使用以下命令从任何二进制文件中剥离位码
$ xcrun bitcode_strip -r {Framework}.dylib -o tmp.dylib
$ mv tmp.dylib {Framework}.dylib
虽然以上是问题的解决方案,但我不同意如果主二进制文件禁用了位码,那么所有包含的二进制文件也应该需要它。 Bitcode 只是 Apple 可以用于应用瘦身的一些 IR 代码——他们为什么不直接将其从其他二进制文件中剥离(我认为这是他们之前所做的)?这对我来说没有多大意义。
【讨论】:
我刚刚取消选中“包含位码”,它开始上传
【讨论】:
从上周五(2016 年 6 月 3 日)开始,我们收到了相同的错误“Xcode - 错误 ITMS-90635 - 捆绑中的 Mach-O 无效 - 提交到 App Store”.. 使用下面提到的 2 个步骤来完成此操作
第 1 步:
在 pod 文件中添加代码以在 pod 中标记 'ENABLE_BITCODE' = 'NO'
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
第 2 步:
在项目的 pod 中标记为 'ENABLE_BITCODE' = 'NO'
注意:尝试在 pod 和我的项目中标记 'ENABLE_BITCODE' = 'YES',但由于我们使用 twillio 框架进行调用,它有一个标志 -read_only_relocs,它不允许使用 'ENABLE_BITCODE' = 'YES' 进行编译。因此,如果您的应用不使用任何带有 -read_only_relocs 的此类框架,那么您可以继续制作 'ENABLE_BITCODE' = 'YES',因为它对您的应用有好处。
【讨论】:
对于那些在将“启用 BitCode”设置为是后出现构建错误的用户。 我必须更新所有库。但是,最简单的部分是我使用 Cocoapods。所以,请更新你所有的 pod 项目:(一个接一个)或全部
然后在存档之前将 Enable BitCode 设置为“No”。
然后存档>>上传>>就会通过这个错误。
干杯。
【讨论】:
我在使用 Xcode 7.3 的 CI 上的项目“ENABLE_BITCODE = YES”和依赖项“ENABLE_BITCODE = YES”遇到了同样的问题。 解决方案是将 Xcode 更新到最新可用版本 (7.3.1)
【讨论】: