上传iOS Framework到CocoaPods
2018-10-31 本文已影响48人
川少叶
1. 在Github新建仓库
创建公共的仓库,并且添加License,CocoaPods需要这个License。 创建Github仓库.png2. 在仓库添加文件
将仓库clone
到本地之后,使用以下命令创建.podspec
文件
pod spec create yourFramework
.podspec
文件去掉注释之后的内容如下
-
s.source
指定了仓库地址,其他人通过CocoaPods使用我们的framework,就是从该仓库进行下载 -
s.vendored_frameworks
指定了我们要提供给用户的Framework。它和s.source
组成了Framework的绝对路径
Pod::Spec.new do |s|
s.name = "CXLFirstFramework"
s.version = "1.0.0"
s.summary = "my test to upload framework to CocoaPods"
s.description = <<-DESC
this is my first framework, now I am learning to upload it to cocoapod
DESC
s.homepage = "https://github.com/xiaoLong1010/CocoaPodDemo"
s.license = "MIT"
# s.license = { :type => "MIT", :file => "FILE_LICENSE" }
s.author = "xiaolong1010"
# s.platform = :ios
s.platform = :ios, "8.0"
s.source = { :git => "https://github.com/xiaoLong1010/CocoaPodDemo.git", :tag => "#{s.version}" }
# the framework upload to Cocoa Pods
s.vendored_frameworks = 'Zhangfghur45.framework'
s.frameworks = 'Foundation'
将Framework也添加到仓库,仓库就包含以下内容:
仓库内容.png
将.podspec和Framework推送到Github。
git add .
git commit -m “commit message”
git push -u origin master
为本次提交生成tag
,该tag
值对应.podspec
中的s.source
。
git tag '1.0.0'
git push origin --tags
3. 验证.podspec文件
使用以下命令验证.podspec
pod spec lint your.podspec
如果成功的话,会出现以下提示
CXLFirstFramework.podspec passed validation.
可能碰到的问题
Abort trap: 6问题.png Abort trap: 6问题,我是通过升级CocoaPods的版本修复的。首先更新gem的源。https://ruby.taobao.org/
,https://gems.ruby-china.org/
这两个源都不能用了,要使用https://gems.ruby-china.com
。
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
安装最新版的CocoaPods
sudo gem install cocoapods
4.注册CocoaPods的Trunk服务
CocoaPods提供Trunk服务,用于开发者管理Pods。首先注册邮箱和用户名。
pod trunk register yourEmail 'your name' --verbose
邮箱会收到一个验证链接,点击链接进行验证。使用下面的命令查看是否注册成功。
pod trunk me
注册成功.png
将
.podspec
文件提交到CocoaPods
pod trunk push your.podspec
出现如下结果,就表明提交成功。
Pod提交成功.png
有如下命令,管理Pod
# 查看注册信息
pod trunk me
# 添加其他维护者
pod trunk add-owner XXXSDK 123456@qq.com
# 删除已发的版本
pod trunk delete XXXSDK 版本号
# 删除某个pod
pod trunk deprecate XXXSDK
# 删除其他维护者
pod trunk remove-owner XXXSDK 56789@qq.com
5 搜索Pod
更新本地Spec库
pod repo update
查找Pod
pod search yourPod
如果出现以下错误,可以先删除search_index.json
,再进行搜索.
Unable to find a pod with name, author, summary, or description matching
rm ~/Library/Caches/CocoaPods/search_index.json
参考文章
https://blog.csdn.net/jeikerxiao/article/details/52881773
https://blog.csdn.net/u010828718/article/details/81870432
https://www.jianshu.com/p/30246a000bc6
CocoaPods升级
https://blog.csdn.net/jeikerxiao/article/details/78949459
https://juejin.im/post/5ad0c92a518825364001db63
https://gems.ruby-china.com