前言
如果你看了我之前写的文章《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:
是否支持ARC
s.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 性能考虑