我将Xcode更新到最后一个版本,现在当我尝试编译项目时,我收到错误"无效的bitcode签名",hovewer,我的项目的bitcode被禁用。我该如何解决?我应该更改什么来正确签署我的bitcode? p>
我的Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target 'MyProjectName' do
pod 'Realm'
pod 'CorePlot'
pod 'GoogleMaps'
end
我已经检查过,一切都很好。
答案 0 :(得分:31)
我不确定你和我有同样的情况。当我尝试使用iPhone设备进行测试时,我只有这个问题。事实证明,仅使用Build Active Architecture的调试配置设置为NO。设置为YES后,我可以用我的iPhone进行测试。
答案 1 :(得分:7)
我遇到了这个错误,但它只发生在iOS 10.3 iPad上(尽管使用iOS 10.3 iPhone和iOS 11.0 iPad,以及所有iOS 10.3和11.0模拟器)。通过消除痛苦的过程(并从头开始创建一个新项目),我发现我的Cocoapods没有错,我的代码签名设置,我的AppExtension,我的测试,也不是我的'仅针对活动架构的构建'设置,也没有与术语'bitcode'相关的任何构建设置。
在我的设置中,我在我的主要Swift / iOS Xcode项目中嵌套了一个C ++ Xcode项目。因为它从未专门用于iOS,所以从未设置过“iOS部署目标”(它保留在“默认”状态)。在明确地将其设置为10.3后,它没有任何投诉。
嵌套C ++应用程序的项目设置(将iOS部署目标设置为您支持的最低iOS版本):
嵌套C ++应用程序的目标设置(供参考):
答案 2 :(得分:3)
如果您使用pod,请检查所有库的版本,某些库可能不支持新版本,您必须更新该库的pod文件。
答案 3 :(得分:3)
就我而言,我正在尝试构建iOS版本低于部署目标的设备。
答案 4 :(得分:2)
答案 5 :(得分:2)
当我将新的静态库项目链接到我的工作区时,出现了这种问题。为了解决这个问题,我尝试将库的Build Active Architecture和Bitcode设置都设置为NO但没有运气。然后,当Xcode为所有新项目设置最新值时,我遇到了库的部署目标设置为11.0的问题。将设置修复为5.0后,问题就解决了。
答案 6 :(得分:1)
就我而言,解决方案是删除c ++库。
答案 7 :(得分:1)
答案 8 :(得分:1)
要解决此问题,大多数答案都建议一种解决方法,先清理Xcode工作区/项目,再关闭Xcode,删除Derived Data
文件夹(默认情况下,该文件夹保留在项目的根目录中),最后重新打开您的项目。
但是,上述步骤可能对您不起作用。这表明您的项目结构有误。
在iOS 9.0中发布项目的中间代码表示形式时,前提是您的整个项目(包括依赖项)完全同意使用或不同意使用比特代码。根据我的经验,至关重要的是要遍历您的所有Pods
并包含Libraries/Frameworks
,并确保它们都使用相同的设置; 是或否。默认情况下,此选择为是。
如果单个依赖项与预期的位码设置不匹配,则可能引发此错误。
在理智地检查您的依赖项和总体项目时,请务必注意,项目和目标设置均两者都有Use Bitcode
设置,因此请务必同时检查两个方面构建设置”。
答案 9 :(得分:0)
我正在添加静态库。我创建了相同库的胖二进制文件,包括所有体系结构,并包含在我的项目中。这解决了我的问题
答案 10 :(得分:0)
就我而言,我正在使用 Cordova项目。使用Xcode构建它时遇到了同样的问题,并通过删除和添加IOS平台解决了这个问题。
cordova platform remove ios
cordova platform add ios
答案 11 :(得分:0)
如果您正在使用可可豆荚,请执行" pod update"
答案 12 :(得分:0)
答案 13 :(得分:0)
此解决方案对我有用。首先,尝试使用终端命令 pod deintegrate 删除所有pod,然后使用终端命令 pod install 重新安装pod。
答案 14 :(得分:0)
在构建模拟器时,如果仅包含仅针对ARM构建的框架(我也认为相反),也会发生这种情况。