很多ios开发者大概对CocoaPods并不陌生,我们几乎已经习惯了在pod文件中添加一行即可将一个库导入到自己的工程中,不得不说,在ios开发的历史中CocoaPods功不可没,即便在未来它也会在开发者中占据半壁江山。但是在这里我向大家介绍一个新的第三方库管理工具-Carthage,不管你是菜鸟还是老鸟,都希望这篇文章能为你打开一个新的世界。
很多人会问了,自己用CocoaPods意境习惯了,并没有发现什么不妥,为什么要使用carthage呢? 所以为了解开大家的疑问,我会首先介绍这两个第三方库管理工具的不同,让大家对这颗刚刚崛起的新星有一个初步的了解。
说到Carthage,就要先说swift,2014年苹果发布swift初期,用swift编写的第三方库就只能通过拖动源代码到自己的项目中才能被调用, 由于当时只有寥寥无几的开源库,且不能打包,加上swift1.0并不是那么好用,许多人对swift持着观望的态度。随着swift逐步趋于稳定,并且从ios8.0开始支持将自己写的swift打包成framework,越来越多的纯swift编写框架开始出现,就在这时候carthage突然出现在人们的视野中,而且陆陆续续几乎所有的开源框架都开始支持carthage。
Carthage的github主页为 https://github.com/Carthage/Carthage.git 里面其实对大家的疑问都有着详尽的解答,介于一些朋友英文不太好,这里我就用中文介绍一下Carthage和CocoaPods的不同:
首先,CocoaPods会直接创建和修改项目的workspace配置,一切都是为了便捷,我们只需要修改pod文件并不需要过多的关心其他事情,CocoaPods创建的是高度集成的项目。 而Carthage的特点是灵活,耦合度不高,集成时不需要集成相应的project,不需要创建workspace,而仅仅需要依赖打包好的framework文件即可。
其次,CocoaPods相对来说功能要比Carthage多很多,在国内由于墙的原因,我们都改成了淘宝的源来更新CocoaPods,相信我,如果你不翻墙,很多东西还是不能用,更新不下来,版本错误等一系列原因会让你不得不放弃一些看起来非常好用的第三方库。而Carthage似乎只需要从github上下载项目即可,配置更是简单,使用的时候项目干干净净,所有的第三方库就像苹果原生的framework一样美好,从此你不再需要担新CocoaPods的库用不了,不用花大量时间去修复用CocoaPods打包时出现的各种问题,如果你用过CocoaPods,当你开始用Carthage的时候,你会爱上这个工具的。
作者:leacode
链接:https://www.jianshu.com/p/5ccde5f22a17
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。