美文网首页iOS 开发学习成长之路程序员
懒人做iOS系列之代码模块化到pod(基础篇)

懒人做iOS系列之代码模块化到pod(基础篇)

作者: James大叔 | 来源:发表于2018-04-12 23:07 被阅读36次

    做人要想懒,还是得多动脑子的,始终坚信只有懒才能推动社会发展。

    本人写代码质量自我觉得不怎么好,通过代码的模块化能有效锻炼代码能力,主要还是抽象思维。说白了,主要还是多个项目共用一块类似的代码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

    十.如果有神么问题可以随时联系我!

    十一.欢迎使用我的网络库,或提出更好的意见:

    https://github.com/Crazysiri/UBNetworking.git 

    pod 'UBNetworking'

    然后 pod update即可

    相关文章

      网友评论

        本文标题:懒人做iOS系列之代码模块化到pod(基础篇)

        本文链接:https://www.haomeiwen.com/subject/toafkftx.html