更新CocoaPods
将项目上传到Git远程仓库
- 创建 New repository,必须要有 License
- 将代码 clone 到本地
- 添加待上传的类库
- 将代码 push 到 Git远程仓库,必须打上 tag
将类库上传到CocoaPods
- 创建.podspec文件
- 编辑.podspec文件的内容
- 注册Trunk账号
- 验证Podspec
- 上传Podspec
一、创建.podspec文件
.podspec文件是pod的描述文件
// 1.打开项目根目录 (.podspec 文件一般放到项目的根目录中)
cd /Users/apple/CPEncrypting
// 2.创建 .podspec 文件 (CPEncrypting 是你的类库名称,不要重名)
pod spec create CPEncrypting
二、编辑.podspec文件的内容
上一步执行成功后,当前目录下会出现一个CPEncrypting.podspec文件。里面会有很多注释,根据自己的项目编辑里面的内容:
Pod::Spec.new do |spec|
spec.name = "CPEncrypting"
spec.version = "1.0.0"
spec.summary = "<#summary#>"
spec.description = <<-DESC
<#description#>
DESC
spec.homepage = "https://github.com/percycc/CPEncrypting"
spec.license = { :type => "MIT", :file => "LICENSE" }
spec.author = { "<#name#>" => "<#email#>" }
spec.platform = :ios, "9.0"
spec.source = { :git => "https://github.com/percycc/CPEncrypting.git", :tag => spec.version }
spec.source_files = "CPEncrypting/*.{h,m}"
spec.frameworks = "UIKit", "Foundation"
spec.requires_arc = true
end
三、注册Trunk账号
// 1.检查有没有注册 (该步骤可省略)
pod trunk me
// 2.注册 (成功后,该邮箱会收到一条验证信息,验证完成后再执行后续操作)
pod trunk register <#email#> '<#name#>' --description='<#description#>'
// 3.查看注册信息
pod trunk me
四、验证Podspec
// 在本地验证 Podspec
pod spec lint CPEncrypting.podspec
这一步容易出现error和warn,根据提示进行修改。
// 忽略 warn
pod spec lint CPEncrypting.podspec --allow-warnings
五、上传Podspec
// 把 Podspec 部署到 trunk (该过程比较耗时,耐心等待)
pod trunk push CPEncrypting.podspec
若 pod repo 版本过低,会提示更新。
pod repo update
提交成功会出现以下内容:
-----------------------------------------------------------------
🎉 Congrats
🚀 CPEncrypting (1.0.0) successfully published
📅 July 2nd, 18:22
🌎 https://cocoapods.org/pods/CPEncrypting
👍 Tell your friends!
-----------------------------------------------------------------
FAQ
- 搜不到自己上传的类库。
// 搜索
pod search CPEncrypting
// 提示
[!] Unable to find a pod with name, author, summary, or description matching `CPEncrypting`
(1) 删除搜索缓存
rm ~/Library/Caches/CocoaPods/search_index.json
(2) 更新 pod repo
pod repo update
(3) 若使用了镜像 repo,可能镜像更新不及时,耐心等待或更换镜像。
- pod repo update 更新过慢。
使用镜像 repo