我正在编写一个使用一系列第三方iOS库的项目(例如TWStatus,BSKeyChain),其中一些我已经修改过(最多10%的自定义代码),但不适合原来的GitHub项目.
我考虑过来自图书馆作者的未来更新,今天遇到了CocoaPods,它看起来是一个很好的依赖管理器,与Bundle或Vundle(对于Vim)一样.
我很好奇我的自定义代码是否可能与使用CocoaPods的图书馆作者未来的变化共存?
默认情况下,CoocaPods将库作为源,以及构建该库的指令.(关闭源库有一些例外).因此,这使得在项目环境中调试问题和测试更改变得容易.
决定进行更改后,您应该执行以下操作之一:
将更改提交回主库.您将获得轻松升级到包含更广泛社区提供的所有测试的新版本的好处.最简单的方法是分叉库,应用更改并发送拉取请求
如果您的更改对图书馆的其他用户没有任何好处,您可以分叉库,而无需将更改提交给master.如果许可证允许您可以维护私有分叉,并仍然从CocoaPods解决它.去做这个:
Podfile:
#As long as the pod-spec is published at the root of the git repo, this works. pod 'MyFantasticLib', :git => 'https://github.com/dogue/Doguetastic.git' #. . and you can use this lib while you're waiting for your pull req. to be approved.
您还可以考虑设置私有规格回购.
第一种选择通常是最好的.