做人要想懒,还是得多动脑子的,始终坚信只有懒才能推动社会发展。
本人写代码质量自我觉得不怎么好,通过代码的模块化能有效锻炼代码能力,主要还是抽象思维。说白了,主要还是多个项目共用一块类似的代码copy and paste 烦了。。。。。。
好不多说了,进入正题。
今天,我要把我的网络请求库单独拿出来,俗称解耦。自己封装的AF3.0,说来话长,以前不知道封装的时候用AF2.0,拿着AF2.0的api到处用,后来发现想升级3.0相当困难,后来在我和我一个同事的共同努力下终于升级了AF3.0,才有了现在这个版本的自己封装的网络请求库。
一.拥有自己的github
什么?你说你没有?github.com 自己研究下注册吧。github不会的还是自行研究一下(1.注册2.传公钥.3建立仓库)。这个有不会的,私聊我小黑屋单独教。
第一步,创建自己的库上面图说下LICENSE文件,我这选的是MIT license,由于CocoaPods要求必须有license,否则验证不过的。
二.同步库到本地
同步方式:
1.source tree :新建->从URL克隆
2.命令行,cd到一个目录 然后执行(换成刚刚创建的,下面这个是我的)
git clone git@github.com:Crazysiri/UBNetworking.git
三.要共享(模块化的代码)
在本地同步的git目录,我这里是 ~/UBNetworking
新建UBNetworking目录,并拖入相关文件。如下图:
第二部,拖入文件(以上代码只依赖AF3.0)四.建一个demo,主要方便教其它小伙伴,或者维护代码的人快速使用。
三.创建demo,并导入库,并且跑通它五.敲黑板啦!下面重点,开始创建pod依赖库需要的文件
cd到项目的git目录,我这里是 ~/UBNetworking
然后命令行:
pod spec create UBNetworking
创建出 UBNetworking.podspec
编辑.podspec:
s.name = "UBNetworking"
s.version = "1.0.0"
s.summary = "网络请求库 封装AF3.0"
s.description = <<-DESC
网络请求库 封装AF3.0
DESC
s.homepage = "https://github.com:Crazysiri/UBNetworking.git"
s.license = "MIT"
s.author = { "James" => "****@xx.com" }
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com:Crazysiri/UBNetworking.git", :tag => "#{s.version}" }
s.source_files = "UBNetworking/Catergory/*.{h,m}","UBNetworking/download/*.{h,m}","UBNetworking/*.{h,m}"
s.dependency "AFNetworking", "~> 3.2.0"
end
以上就是我这设置的。
s.name:pod search 搜索的关键词
s.version:版本
s.dependency:依赖库
六.提交到Git
将配置好的.podspec和demo等文件提交到git,并打上tag
git add -A && git commit -m "version 1.0.0"
git tag '1.0.0' //和上面.podspec一致
git push --tags
git push origin master
七.验证刚才的.podspec
pod spec lint UBNetworking.podspec --verbose --use-libraries --allow-warnings
验证可能会出错误,仔细看看出错的原因,多数都是因为配置文件马虎大意。我这没出什么错误。
八.发布到pod
pod trunk register *****@xx.com "James"
然后收邮件,验证一下就好了。会提示你回来执行上传代码
pod trunk push UBNetworking.podspec --use-libraries --allow-warnings
然后等一会没什么问题就会提示成功了。
九.提交新代码或者更改项目或者更改 .podspec
修改s.version,那么推代码的时候,要执行
git tag 's.version对应的字符串'
git push --tags
pod trunk push UBNetworking.podspec --use-libraries --allow-warnings
网友评论