移动端访问不佳,请访问我的个人博客
最近在研究Swift,1不谨慎发现1个好的的管理iOS第3方库Carthage,就跟第1次使用CocoaPods时1样兴奋不已,在研究了大半天后终究能用了,使用起来还是很方便的,比起CocoaPods有不足也有优点,两个配合起来用也是很爽的^ - ^
最近在用Swift3.0做项目,想导入1些支持Swift3.0的第3方库来使用,就想到Alamofire,看README时发现了1个新的名词Carthage,What?,这是个甚么东西,竟然也能够用它来管理第3方库,之前都没见到过,赶快百度了1下补充了下知识:
Carthage:迦太基(地中海地区古城),好吧这是百度百科的解释,至于为何用这个单词,我也不太清楚,可能比较屌吧,看下图你就知道它是用来干甚么的了:
Carthage的目标是用最简单的方式来管理Cocoa第3方框架
是的,你没看错,它可以用来管理第3方库Alamofire,然后查了1下,还有很多第3方库都可以用它来管理,跟CocoaPods1样可以用来管理第3方库,看了1下它的突起时间大概是iOS8以后Swift出来的时候,与现在流行的 CocoaPods 不同,它是1个去中心化的解决方案。CocoaPods的方法更容易于使用,但Carthage更灵活并且是非侵入性的。
大家都知道Swift是支持动态库的,所以Carthage应势而生,它没有总项目的列表,这能够减少保护工作并且避免任何中心化带来的问题)。不过,这样也有1些缺点,就是想修改第3方库源码的话很费力,还需要重新编译打包。
首先到github上Download或Clone Git 或使用HomeBrew(没有安装的可以自行百度去装1个)安装~
brew update #先更新
brew install carthage #安装Carthage
当你安装好Carthage后,在终端履行来判断是不是安装成功:
carthage version
便可看到当前的Carthage版本, 当我写这篇文章的时候,Carthage的版本为0.18(还是很年轻的嘛) 。
现在,你已安装好了Carthage,接下来就是在你的项目中使用carthage了:
vim Cartfile #创建1个叫Cartfile的文件
输入你想要编译成Framework的Swift第3方库,比如说SnapKit和Alamofire,以下所示:
github "Alamofire/Alamofire" ~> 4.0 #支持Swift3.0
github "SnapKit/SnapKit" ~> 3.0 #支持Swift3.0
github代表源,而后面的就是用户名和版本库的名字,而”~>” 后面是版本号哈!
保存退出,履行:
carthage update --platform iOS #由于是打包iOS的所以后面加iOS,有的库支持mac、watch的话会打几个包
以后会发现在跟目录下多出了Carthage文件夹和Cartfile.resolved文件。进入Carthage/Checkouts下可以看到刚刚得到的Alamofire和SnapKit,以下图所示:
现在打开你的项目,点击project,选择target, 再选择上方的General,将需要的framework文件拖到 Linked frameworks and Binaries内:
然后这是很重要的1步,点击Build Phrase tab选项,添加相应的run script:
/usr/local/bin/carthage copy-frameworks
$(SRCROOT)/Carthage/Build/iOS/你的framework
然后就能够去项目里面import
你得第3方库了~~可以愉快的使用了,不过有1点要吐槽1下`build
的速度真是有点慢- . -
我觉得不管怎样,好不好用,做为iOS程序员我们都应当去尝试的了解1下它,通过它去学到更多的东西,至于甚么第3方库用CocoaPods,甚么去用Carthage,我觉得1些比较稳定大的库可以用Carthage,而1些变动比较大,自己还有可能去修改的库我们肯定首选CocoaPods。最后希望大家看到这篇博客能学到东西,大家有问题可以提出来,谢谢大家的浏览~~
http://www.jianshu.com/p/5ccde5f22a17
https://imtx.me/archives/1939.html
上一篇 libusb的异步也有这样的问题
下一篇 城市公安智能化信息管理系统开发