起因是用cocoapods引入一个三方库时,功能不能完全满足,增加了一些功能(手动导入,一直有问题)。因为改了pods里面的源码,如果以后再执行pod install或pod update时,增加的功能就会被覆盖。所以就把这一块搞成cocoapods的方法,也方便自己以后使用。
前期注册流程参考http://ios.jobbole.com/93284/,我是在这边文章的基础上做的,主要是对.podspec里面的内容做了修改,下面是我的
Pod::Spec.new do |s|
s.name = 'HHKPhotoBrowser'
s.version = '1.1.11'
s.authors = { 'HHongKang' => '821705518@qq.com' }
s.homepage = 'https://github.com/p6481089/HHKPhotoBrowser'
s.summary = '图片选择拍照编辑功能'
s.source = { :git => 'https://github.com/p6481089/HHKPhotoBrowser.git',
:tag => s.version.to_s }
s.license = { :type => "MIT", :file => "LICENSE" }
s.platform = :ios, '9.1'
s.requires_arc = true
s.source_files = 'PhotoBrowser/*.{h,m}'
s.public_header_files = 'PhotoBrowser/**/*.h'
s.resource = ['PhotoBrowser/ZLPhotoBrowser.bundle','PhotoBrowser/ZLPhotoActionSheet.xib','PhotoBrowser/ZLPhotoBrowserCell.xib']
s.dependency 'SDWebImage'
s.dependency 'GPUImage'
s.ios.deployment_target = '9.1'
end
把里面的信息改成自己的就行。
下面是我的代码目录结构
注意:下面这些才是我遇到问题的总结
PhotoBrowser这个问价夹里面就是要上传的所有文件,这个文件夹里面最好不要有子文件夹。s.source_files这个就是对应的这里面的文件。如果这个文件夹里面包含.bundle、.xib文件的话,就要用s.resource对应的方式实现。
如果上传的方法使用了别的三放库的话,要使用s.dependency引入,验证的时候会自动加载进去。
在使用验证的时候主要是用 pod spec lint xxx.podspec --verbose --allow-warnings,这样可以直接忽略掉警告(前提是要保证你的代码没有问题)。发布的时候也要使用
pod trunk push xxx.podspec --allow-warnings,这样也是直接忽略到警告。如果能够看到类似下面的结果,就说明成功了
然后找一个项目验证一下功能举行了,如果功能都正常,说明就ok了。