xcode - 无效的bitcode

时间:2017-04-04 18:53:17

标签: ios objective-c xcode

我收到此错误

  

错误:无效的bitcode签名

     

clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我正在使用cocoapods并且我已经验证了所有启用bitcode匹配,我已经尝试了启用bitcode字段的所有选项Yes,No和$ {inherited}。

不确定如何进一步调试,如何使用-v选项/将会给我更多信息。

一些背景,我正在将两个代码库合并到iPhone和iPad上,这样它就是一个通用的应用程序。

10 个答案:

答案 0 :(得分:6)

在我的项目中,我通过设置所有" Bitcode启用"来修复此问题。选项"否"。这包括工作区中的所有目标和所有项目(主项目,Cocoa Pod项目)。

答案 1 :(得分:4)

错误:无效的bitcode签名 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

注意:如果您要为目标手机9或10构建,则以下解决方案可以解决问题

<强>解决方案

  1. 打开Podfile
  2. 取消注释此行〜&gt; platform:ios,'9.0'
  3. 从命令行运行Podfile所在的以下命令
  4. pod update
  5. 在xcode中选择产品&gt;清洁,然后产品&gt;构建
  6. 希望这能解决问题

答案 2 :(得分:3)

如果您有一个静态库(以.a结尾),则其bitcode设置可能与您的工作区/项目不一致。

答案 3 :(得分:2)

这个技巧对我有用:

选择项目文件 - &gt;选择目标 - &gt;一般 - &gt;链接的框架和库 - &gt;删除libPods.a

enter image description here

答案 4 :(得分:1)

使用 pod deintegrate pod install 再次解决了我的问题。对于有这个问题的其他人可能会有帮助。

答案 5 :(得分:0)

执行pod update后我得到了同样的错误 - 重新启动Xcode为我做了伎俩。

答案 6 :(得分:0)

清理派生数据文件夹对我有用。

答案 7 :(得分:0)

对我而言,它帮助“将项目更新为推荐设置”并清理,归功于Rocksaurus: https://stackoverflow.com/a/47336130/1884907

答案 8 :(得分:0)

自从添加Cocoapods(实际上是为了开始使用ResearchKit而添加)以来,我就遇到了这个问题。

我仔细检查并确保将启用的位码设置为NO,但是奇怪的是“ Pods”项目(在项目工作区中)在“构建设置”下没有“启用位码”的定义。经过很多挫败之后,我尝试为ResearchKit项目添加“启用位码”设置(出于准确性,我只是从主应用程序项目中剪切并粘贴了键/值)。

嘿!这使我摆脱了这个错误,我只需要修复一些与足弓相关的问题,然后又重新启动并运行。

我想如果没有定义“启用位码”键/值,则默认为“是”。

答案 9 :(得分:-1)

可能是因为使用Cocoapods将第三方SDK集成到您的项目中。

执行以下操作:

  • 创建一个新的Xcode项目
  • 将Podfile从原始项目复制到新创建的项目 项目的目录
  • 执行pod安装
  • 删除一个或多个pods
  • 归档新项目,看看是否成功,如果不重复步骤4 直到你能够存档。

    (您也可以尝试二进制搜索,其中删除Podfile中的前半部分并查看新项目是否存档)

一旦您找到导致问题的库,请通过在Podfile中显式指定版本来降级库,直到项目成功存档。

或者如果您不介意禁用bitcode:转到构建设置搜索bitcode并更改&#34;启用Bitcode&#34;到&#34;否&#34;。