iOS组件化第一步:上传代码至CocoaPods

组件化开发已经热火朝天,已经咸鱼很长时间,再不做点什么就真的要被淘汰了。在查阅众多学习资料后发现最简单也是最基本的就是管理模块化后的代码,代码管理上我们ios开发当然是用CocoaPods最多啦。二话不说,一顿百度之后就开始操作了。这里我将自己项目中用的比较多的Swift的extension上传至CocoaPods。

1.创建一个git仓库
创建仓库

注意这里选择开源协议选择MIT License,后面pods配置文件会用到,至于为什么选择这个目前还不太了解。其他就是创建git仓库的常规操作。然后clone到本地。

2.将代码上传至git

git add .
git commit -m 'first commit'
git tag '1.0.0'  #创建tag 后面配置pods时会用到
git push --tags
git push origin master

3.创建.podspec

pod spec create DVExtension

然后编辑你的podspec文件,下面是我的podspec文件

Pod::Spec.new do |s|

  s.name         = "DVExtension"  #存储库名称
  s.version      = "1.0.0"          #版本号,与tag值一致
  s.summary      = "Swift Extension" #简介
  s.description  = "一个自用的Swift Extension"   #描述
  s.homepage     = "https://github.com/CreatFish/DVExtension" #项目主页,不是git地址
  s.license      = { :type => "MIT", :file => "LICENSE" }  #开源协议
  s.author             = { "GreatFish" => "654070281@qq.com" } #作者
  s.platform     = :ios, "8.0"  #支持的平台和版本号
  s.source       = { :git => "https://github.com/CreatFish/DVExtension.git", :tag => "1.0.0" } #存储库的git地址,以及tag值
  s.source_files  = "DVExtension/*.swift"
  s.requires_arc = true #是否支持ARC
  s.swift_version = "4.2"#使用的swift版本

end

编辑完成之后使用如下指令来验证。

pod lib lint

有可能会碰到一些错误,根据提示一个一个修改至出现如下图红框所示便是验证成功了。加上 --allow-warnings可以忽略掉一些警告。
验证成功

4.创建Trunk账号并发布

# 注册Cocoapods账号(会接收到一封邮件,验证即可)
pod trunk register 654070281@qq.com "David Yu"
# 查看自己的账号
pod trunk me
# 发布你的pod
pod trunk push DVExtension.podspec

出现如下图所示就是发布成功了。
发布成功

因为我不是创建的一个工程,所有没有info.plist文件,所以需要加上--allow-warnings参数,否则会出现如下警告导致发布失败。

warning: Skipping code signing because the target does not have an Info.plist file. (in target 'App')

发布成功之后,使用如下指令可以查找到你发布的pod,然后就可以愉快的使用啦。

pod search DVExtension --simple

小结

总体上来讲没什么难度,pod验证和发布的时候会碰到一些错误,一个一个根据提示去修改就行,如有错误的地方欢迎大神们在评论下面指出。

参考资料:https://www.jianshu.com/p/435b84e0a667

推荐阅读更多精彩内容