今天看到artsy的ash furrow的一篇blog(http://artsy.github.io/blog/2016/01/28/being-a-good-open-source-citizen/)。文章讲的是如何成为一个OSS(open source software)圈子里的好公民。我想身为一个programmer,这是一个大家都应该尝试的方向。文章解决了我一个长期使用cocoapods的一个困扰,在此留下记录。常见的问题就是好不容易找到一个开源库,几乎可以满足我的需求,可以问题在于“几乎”。我必须要对该库做出些修改,这时候配合cocoapods,我应该如何操作呢?
这里就用ash furrow提到的例子,是一个可以选择范围的slider(MARKRangeSlide)。首先fork这个库到自己的github页面,再克隆到本地,这时候就可以让podfile指向本地的这个repo。
pod 'MARKRangeSlider', :path => '../MARKRangeSlider'
这样cocoapods就知道我正在开发这个pod,这称之为"development pod",一般情况下cocoapods会复制远端的repo,在本地存下一个copy,但这里cocoapods是引用本地的repo,所以就可以随意对这个pod修改,而且可以轻易的commit和push到自己的fork。等完成需要的功能push到远端的时候,这时候就可以修改podfile,指向自己的fork。
pod 'MARKRangeSlider', :git => 'https://github.com/ashfurrow/MARKRangeSlider.git'
最后像平常一样
pod install
自己的fork就成了cocoapods使用的一个pod。