今天要打包个ipa,结果出问题了。报了library not found for - XXX
关键不管是run
还是build
都不会报这个错。 打包了那么多回,都没出现这种问题,哎。。。。。。,那个心情呀。。。。。
library not found for - XXX
这个问题平时也遇到过,什么原因呢?
由于我们在项目中使用了一些第三方的库,Xcode在编译的时候找不到需要的链接库而导致的。
在网上搜到的方法总结一下。
1.获取 库文件所在的那个文件夹 路径,添加到 Target的Build Settings界面Library Search Paths中
2.点击 XCode 工程文件,在 Build Phases 中查看 Link binary With Libraries
如果不出所料,你应该能发现有一到数个的条目是用红色字体来显示的。 说明这些被工程引用的这些文件,其物理文件已经不处于之前所记录的地方了。 这种情况下,右键点击红色条目,选择 Reveal in Project Navigator
, 此时大抵能在左侧栏中定位到缺失文件所在的路径,接下来就好办了,找到缺失的文件,挪回它应该待的地方。
3.关闭Xcode,在控制台打开到工程目录,用pod install
命令重新安装,成功后再打开Xcode编译项目。
我按上面的方法一执行了还是报错,并没有解决我的问题。然后看了下第二种方法,我并没有发现Link binary With Libraries
有红色的条目。至于第三种方法,我都没有用Cocoapods
,被我放弃了。
苦于没有解决,我在网上苦苦找寻方法,结果不尽人意,网上搜到的基本上都是上述的第一种方法。
最后无奈之下,我尝试了下第二种方法,把报错的库的.a
文件给移除了,然后再添加,结果还是报错。真是郁闷,然后点击错误一看,结果还是有惊喜的。尽然不是报刚才的那个library not found for - lRNPDFView
找不到了,而是报library not found for - lRCTVideo
,有变化就是有效果。然后我试了下降RCTVideo.a
移除重新添加,然后报了其他库的错,然后我观察了下变化,结果还是有差别的,具体现在没有报错时候的图片了,简单的描述下:
报错的那个.a库前面是没有图片的,没有向上面说的标红之类的。然后重新添加之后就有了前面的想房子一样的图片。之前运行没有报错,也就没太在意。现在也不知道什么原因,运行和编译都不会报错,就是Archive 的时候回报这种错,有大神知道原因的话,希望告诉我一下。
好了,将所有报错的第三方.a文件删除再次添加,就好了。希望可以帮助到和我遇到同样问题的人。