我的iOS应用程序使用Cocoapods来管理诸如AFNetworking,SDWebImage等库.
其中一个库碰巧有一个已经在最新版本中修复的错误,但它尚未传播到cocoapods版本.我想为这个库制作一个补丁,并能够与我的团队分享.推荐的解决方法是什么?
在旁注:我想可能会出现类似的情况,我想要分叉库.如果我有一种方法可以在库更新时将我的更改合并到新版本中,那将是很好的.在这种情况下可以使用类似的工作流程吗?
Sam*_*der 17
我不会声称这是最好的选择,但它是一种选择.您可以使用Podfile中的post install挂钩来执行patch命令.我已经通过在Podfile的底部放置以下内容来完成它.
post_install do |installer|
puts 'Patching SVGKit to compile with the ios 7 SDK'
%x(patch Pods/path/to/file.m < localpods/patches/fix.patch)
end
Run Code Online (Sandbox Code Playgroud)
请注意,如果路径中有任何空格,则需要转义逃避shell空间的反斜杠."\ " 代替 "\ ".有关生成修补程序的快速方法,请参见http://jungels.net/articles/diff-patch-ten-minutes.html.因为我正在处理一个简单的文件,所以我只创建了一个简单的diff而不是统一的diff.
Mar*_*cel 10
分叉库,应用补丁,并指向Podfile中的分叉将是您的最佳选择.
如果库包含podspec:
pod '<library', :git => 'https://github.com/yourname/<library>.git'
Run Code Online (Sandbox Code Playgroud)
如果库不包含podspec,则必须将podspec复制到本地路径并进行调整:
pod '<library>', :podspec => 'local/path/to/<library>.podspec'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2390 次 |
| 最近记录: |