关于invalid bitcode signature( linker command failed with exit code 1)

不好意思,标题有点长了,今天拾起了一个老项目,调试了一下,出现如下错误。

QQ20170617-091151.png

惯例Google了一下,搜索的关键字为:invalid bitcode signature,解决的方案很多,如下所示:

invalid bitcode signature解决方案

1.Clean重启

首先要做的就是网管的终极套路,关机重启,所以我们遇到问题当然就是Clean Project and Build,不行就Restart Xcode,其实很多莫名奇怪的问题都可以通过这样的方案搞定,毕竟Xcode确实bug不少,不知道是不是我的mac性能差,我的Xcode就经常出现找不到头文件或者联想不出关键字的问题。

2.修改Bitcode检测
Bitcode.png
3.Build Active Architecture Only设置
Build Active Architecture Only.png

我把所有的组合搭配都试过了,Debug -> YES/NO,Release -> YES/NO,各种搭配,各种配搭,无奈,It doesn't work。

4.删除DerivedData文件夹

打开xcode找到Products文件夹 -> Products文件夹里的.app文件,show in Finder 选择三栏显示模式 -> 往前滑找到DerivedData文件夹, 删除 。

DerivedData.png

It doesn't work。

5.Custom Compiler Flags

在Building Seting -> 中 -> Custom Compiler Flags加 -> -fembed-bitcode

Custom Compiler Flags.png

It doesn't work。

至此,基本上Google上所有的方案都是这几个,然而都没有解决我的问题,所以果断换关键字搜索,也就是linker command failed with exit code 1,可能出现的两个Error都是因为linker command failed with exit code 1。

linker command failed with exit code 1解决方案

1,看看是不是有新添加的文件跟之前文件同名
2,错误信息中出现了某个类的名字,去原文件中看看#import了哪些第三方库,把这些库挨个注释排除,找到出错的那个库,然后按照官方提供的步骤重新添加一遍。
3.SVN或git忽略了某些文件,如.o 等文件没能update下来,查看.o文件可能是红色的,可以重新添加或者修改SVN(git)的忽略设置
4.把.a文件删除再重新拖到项目中解决问题
5.可能重复添加了文件(也可能没勾选 Copy items if neded 这个选项),建议删除后重新添加
6.工程中文件名重复了 也会出现同样的错误
7.”Build Settings”->”Enable Bitcode”设置为NO ,因为有些SDK不支持Bitcode
8.可能在引用的时候 可能写的是#import "XXXXX.m" ,如果是改为#import "XXXXX.h"
9.可能你导入的SDK只能在真机下才能运行,模拟器会报错!
10.找到 Build settings->Linking->Other Linker Flags将此属性修改成-all_load 或者 -ObjC
11.Build settings->Search Path->Library Search Paths 添加静态库的相应路径

我的解决方案

以上方案我基本上都做了,无奈还是没搞定,我就在猜测是不是静态库版本的问题,因为我的Xcode已经升级到了最新的版本,而项目是挺老的项目了,所以秉承着打破砂锅问到底的精神果断去下载老版本的Xcode,通常我们可以在App Store应用商店中免费下载Xcode的最新版本,但如果我们想要获取特定版本呢?苹果在开发者网站中提供了历史所有版本的系统和开发工具的下载,网址:https://developer.apple.com/download/more/
幸运的是公司的网络比较快,Xcode7很快下载下来了,然后及时如何让两个版本共存,其实直接给Xcode改名即可,可以一个版本保留原名,另一个版本加上版本号。也可以给多个版本都加上版本号,例如Xcode7和Xcode8。需要注意的是,如果你有使用第三方开发工具,请尽量避免在名称中出现空格。
Xcode安装好了以后,果断真机调试,你猜的没错Could not find Developer Disk Image,公司最低版本的手机为iOS 9.3.5的iPhone4s,而我下载的Xcode7最高支持的设备为iOS 9.0,此时解决的办法有两个,要么升级Xcode,要么下载该Disk Image,两者相比较当然是厚颜无耻的去问别人要了一个9.3版本的Disk Image,然后放到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport目录下,重启Xcode,编译运行通过。

至此,记一次问题解决过程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容