今天要打包个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文件删除再次添加,就好了。希望可以帮助到和我遇到同样问题的人。