前言
如果你看了我之前写的文章《CocoaPods私有库的搭建》,而且有过实战,你会发现《CocoaPods开源库的搭建》简单了很多。
文章目录
一、写好代码,上传到github;
二、将自己的项目打tag;
三、注册CocoaPods;
四、创建.podspec;
五、编辑.podspec;
六、验证.podspec;
七、发布;
八、测试自己CocoaPods;
九、开源库的使用;
具体步骤
一、写好代码,上传到github;
github上创建项目仓库的时候记得创建LICENSE(许可证/授权)文件,此文件必须要有。
二、将自己的项目打tag;
因为CocoaPods是依赖tag版本的,所以必须打tag,终端命令如下:
git tag 1.0.0
git push --tags
注:以后再次更新自己的开源库时,只需要把你的项目打一个tag,然后修改.podspec文件中的版本接着提交到CocoaPods官方就可以了,提交命令如上。
三、注册CocoaPods;
查看自己有没有注册过CocoaPods,终端命令如下:
pod trunk me
如果你已经注册过,结果如下图:
若未注册,执行以下命令注册:
// 注:邮箱和用户名随意
pod trunk register 邮箱 用户名
或
// 加上--verbose可以输出详细的错误信息,方便出错时查看
pod trunk register 邮箱 用户名 --verbose
终端命令示例如下:
pod trunk register 821385843@qq.com 'Wade' --verbose
注册完成之后会给你的邮箱发个邮件,进入邮箱邮件里面有个链接,需要点击确认一下。注册完成后使用pod trunk me检验注册是否成功。
四、创建.podspec;
cd到本地项目目录,执行终端命令,创建.podspec文件,终端命令:
pod spec create XWCountDownButton_OC
五、编辑.podspec;
创建好后,打开.podspec,前面有#的为注释,也可以用以下代码替换,然后编辑自己的库信息。

s.name:名称,pod search搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错s.version:版本号,to_s:返回一个字符串s.author:作者s.homepage:项目主页地址s.summary:项目简介s.source:项目源码所在地址s.license:许可证s.platform:项目支持平台s.requires_arc:是否支持ARCs.source_files:需要包含的源文件s.public_header_files:需要包含的头文件s.ios.deployment_target:支持的pod最低版本
其他一些非必要字段
s.social_media_url:社交网址s.resources:资源文件s.dependency:依赖库,不能依赖未发布的库-
s.vendored_frameworks = 'XXX/x.framework', 'XXX/y.framework'
注:这是当前组件依赖的三方framework,示意图如下:
s.license= { :type => "MIT", :file => "LICENSE" }
注:这里建议这样写,如果写别的会报警告,导致后面一直提交失败。
source_files写法及含义
"XXX/*"
"XXX/XXX/*.{h,m}"
"XXX/**/*.h"
* :表示匹配所有文件
*.{h,m} :表示匹配所有以.h和.m结尾的文件
** :表示匹配所有子目录
s.source常见写法
s.source = { :git => "https://github.com/821385843/XWCountDownButtonDemo.git", :tag => "68defea" }
s.source = { :git => "https://github.com/821385843/XWCountDownButtonDemo.git", :tag => 1.0.0 }
s.source = { :git => "https://github.com/821385843/XWCountDownButtonDemo.git", :tag => "#{s.version}" }
-
commit => "68defea" :表示将这个Pod版本与Git仓库中某个commit绑定 -
tag => 1.0.0 :表示将这个Pod版本与Git仓库中某个版本的comit绑定 -
tag => s.version :表示将这个Pod版本与Git仓库中相同版本的comit绑定
六、验证.podspec;
到此检查一下工程中有以下文件:
项目文件
LICENSE.podspec文件
测试本地.podspec文件是否存在语法错误,终端命令如下:
pod spec lint XWCountDownButton_OC.podspec
或
pod spec lint XWCountDownButton_OC.podspec --verbose
注:如果有警告验证会通不过,需要使用命令忽略警告即可,终端命令如下:
pod spec lint XWCountDownButton_OC.podspec --allow-warnings
七、发布;
发布的终端命令如下:
pod trunk push XWCountDownButton_OC.podspec
注:如果有警告发布会通不过,需要使用命令忽略警告即可,终端命令如下:
pod trunk push XWCountDownButton_OC.podspec --allow-warnings
发布成功后会有以下提示:
八、测试自己CocoaPods;
使用pod search搜索的话会提示搜索不到,可以执行以下命令更新本地search_index.json文件,终端命令如下:
rm ~/Library/Caches/CocoaPods/search_index.json
然后
pod search XWCountDownButton_OC
搜索结果如下图:
九、开源库的使用;
新建测试项目(项目名称为TestPod),在项目TestPod目录下新建Podfile文件,编辑Podfile文件如下,使用pod install安装之后即可使用作者开源的框架XWCountDownButton_OC了。
更多文章
CocoaPods开源库的搭建
CocoaPods搭建私有库
CocoaPods搭建私有库遇到问题
CocoaPods私有库的升级维护
SKStoreReviewController之程序内评价
App应用程序图标的动态更换
开源框架 MGJRouter_Swift
iOS的MVP设计模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa进阶
iOS 性能考虑

