关于SVN和静态库的一些总结
==========================
今日接到外包公司的代码,我❤️里其实是拒绝的,然后五味杂陈硬着头皮将它调通...
今日我踩的坑,记录下来以防"后生仔"掉坑里
===============================
静态库: 一般是以.a
或 .lib
或 .framework
结尾的文件.
//貌似SVN 有个ignore特性,会默认的屏蔽一些不常用类型的文件,比如:*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store....
**
但是我们写代码,难免或用到SDK 和一些第三方库,里面常常出现.a
的文件,所以为了保留代码的完整性,SVN也提供了可以自己设置这ignore(忽略忽视的意思)文件的类型.
**
iOS项目常用第三方库管理工具cocoapods,这样代码也比较容易维护,就算是.a文件丢失,你只要pod update
或者pod install
一下,问题基本上可以解决.我是比较喜欢这种工具的,尽管它比较占内存,带来的便利和弊端相比还是显而易见的.
参见技术大牛唐巧的博客用CocoaPods做iOS程序的依赖管理
@[开始啰嗦]
接下来进入正题,我拿到代码之后,试图将其一次性跑通,然而现实是背道而驰的,编译报错300多个,瞬间无语...想到的是进行观察有什么规律或者特点,居然能报这么多错,想到的是依赖库,头文件之类或者一些变量常量的引用,方法失去声明....容不得我多想,拿到代码进行一次cocoapods第三方库的大更新,因为一些框架比较老,有些方法失效了也说不好,毕竟技术是不断的更新的.
pod update
之后就剩下一个错误了如图所见:

后来查阅资料,得知如下图的操作即可:

类似ld:library not found for -lxxx
这样子,可以尝试选中工程target里的"Link Binary With Libraries"里的静态库先"-" 再"+" ,反复操作几次酸爽...
如果还有说编译时说路径不对的,你直接可以找到Library Search Paths 或者framework search paths里的内容清空即可形如上图..."ld: warming: directory not found option"
