刚转到ios开发,之前的工作经验都是在Linux和Windows上,对于项目依赖库,Linux上比较常用的makefile系列,后来做chromium开发,主要用的是gyp系列,这俩原理上基本上差别不大,在脚本中写好各种依赖,然后一个编译指令搞定。在Windows上,更不用手,传说中的“宇宙最强IDE”真不是盖的,依赖项这些设置一下路径,指明依赖库的名称,然后一键编译,搞定!
转到ios之后,主要是OC,依赖管理这一块儿主要就是cocoaPods,加上对xcode不太熟悉,虽然跟着文档跌跌撞撞地安装好了cocoaPods(安装成功了感觉还是有点懵懵的那种😂),公司项目的依赖库也都能拉了,但是不搞懂这个东西的使用和原理,心里始终不踏实,所以工作之余开始了自坑的一系列操作。
通过网上的博客了解到,这个东西还是很好用的,主要原理就是在项目中新建了一个pods工程,将所有依赖库容纳进去,生成一个库文件,然后我们的工程依赖这个库文件即可,同时,cocoaPods还支持git仓库的使用,在依赖库里面可以直接从github和指定的仓库中拉取代码,这样的好处是即使依赖库的代码有了改动,直接一个pod update搞定,中间省去了很多操作,不管是依赖其他的库还是同事之间的库,很方便。
按照各位大神的教程,我用cocoaPods安装好了一个github上的Masonry,然后我傻呵呵的编译,然后Xcode给我了Failed,原因是找不到-lMasonry库,然后通过项目的生成路径去找,确实没有,十分不解,这个库确实没有生成,然后对比了公司的代码和各位大神的解释,发现pod项目生成了,但是不在我的项目里面。然后我有百度了Xcode WorkSpace的东西,将我的项目和pod项目放到这个WorkSpace里面,编译直接通过。就这样的结果走了一周的弯路。
cocoaPods这个东西很强大,除了拉取其他项目的代码外,同样可以支持本地项目的依赖,自己的项目也可以支持进cocoaPods中,提供给别人使用,以及项目的打包功能,让我一个坑一个坑慢慢跳。