答案 0 :(得分:65)
今天早上我遇到了同样的问题。实际上,答案在于错误:“验证平台的所有目标是否具有ENABLE_BITCODE构建设置的一致值”
我有一个目标(ENABLE_BITCODE设置为NO),使用ENABLE_BITCODE设置为YES的多个pod。所以,我必须做的就是在我的项目目标中将ENABLE_BITCODE设置为YES。但我想你可以选择,你也可以在你正在使用的所有库中将ENABLE_BITCODE设置为NO。
答案 1 :(得分:64)
最简单,最常见的解决方法:
您可以取消选中"包括Bitcode"通过Xcode提交应用程序时。
如果您使用xcodebuild
,则可以使用exportOptionsPlist传递,uploadBitcode
的值设置为false。就我而言,我们正在使用xctool
来构建应用,并且无法传递exportOptionsPlist
,因此我们必须从所有框架中删除bitcode。< / p>
如果有人正在使用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
为此问题添加更多说明:
似乎苹果昨天刚刚开始实施。如果您的主二进制文件已禁用bitcode,但您包含一个启用了bitcode的静态库或框架,则验证将失败。它也是另一种方式:如果您的主二进制文件已启用bitcode,但您包含禁用bitcode的库/框架,则验证将失败。
我有一些来自GoogleMaps和Amazon的依赖项,这使得切换所有内容以启用bitcode变得非常简单,所以我只是禁用它并从我在项目中导入的一个静态库中删除了bitcode。您可以使用以下命令从任何二进制文件中删除bitcode
$ xcrun bitcode_strip -r {Framework}.dylib -o tmp.dylib
$ mv tmp.dylib {Framework}.dylib
虽然以上是问题的解决方案,但我不同意,如果主二进制文件禁用bitcode,所有包含的二进制文件也应该需要它。 Bitcode只是Apple可以用于应用程序细化的一些IR代码 - 为什么他们不将它从其他二进制文件中删除(我认为这是他们以前做过的)?这对我来说没有多大意义。
Apple thread https://forums.developer.apple.com/thread/48071
答案 2 :(得分:5)
我只是取消选中&#34;包括bitcode&#34;它开始上传
答案 3 :(得分:3)
迦太基
答案 4 :(得分:1)
我们得到同样的错误&#34; Xcode - 错误ITMS-90635 - 捆绑中的Mach-O无效 - 提交到App store&#34;从上周五(2016年6月3日)开始..使用下面提到的2个步骤来完成这个工作
步骤1:
已向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'
注意:尝试在pods和我的项目中标记'ENABLE_BITCODE' = 'YES'
,但因为我们使用twillio框架进行调用,其中有一个标记-read_only_relocs
,不允许使用'ENABLE_BITCODE' = 'YES'
进行编译。因此,如果您的应用不使用任何此类框架-read_only_relocs
,那么您可以继续制作'ENABLE_BITCODE' = 'YES'
,因为它对您的应用有利。
答案 5 :(得分:0)
对于将“启用BitCode”设置为“是”后出现构建错误的用户。 我必须更新所有库。但是,最简单的部分是我使用Cocoapods.So,请更新你所有的pod项目:(逐一)或全部
然后在归档之前将Enable BitCode设置为“No”。
然后存档&gt;&gt;上传&gt;&gt;它将传递此错误。
干杯。
答案 6 :(得分:0)
我在项目中遇到了同样的问题&#34; ENABLE_BITCODE = YES&#34;和依赖&#34; ENABLE_BITCODE = YES&#34;在我的CI上使用Xcode 7.3。 解决方案是将Xcode更新为最新版本(7.3.1)