1. 把待公开的项目上传gitHub远程仓库。
- 此处项目代码提交git服务器过程略,详情参考文章Git Shell命令。
注:代码提交git成功后,打好我们的发布版本tag值,如:
0.0.1
2. 安装CocoaPods。
- CocoaPods安装步骤和使用请参考:CocoaPods安装及使用
3. 创建和编写.podspec
文件。
- 创建
.podspec
文件命令如下:$ pod spec create Name
注:
Name
为创建的.podspec
文件名字,一般取与工程文件相同的名字。
-
.podspec
编写创建的
Name.podspec
文件打开可看到一个默认的模版,我们可在默认模版基础上修改,也可参考gitHub
上一些优秀的第三方库的.podspec
文件,如:AFNetworking
库的AFNetworking.podspec
文件,直接复制内容然后按照自己的项目修改。如本人公开的一个基于FMDB封装的数据库升级库DatabaseManager的
DatabaseManager.podspec
文件内容如下:Pod::Spec.new do |s| s.name = 'DatabaseManager' # 项目工程名称,即公开的可检索的pod 名称 s.version = '0.0.2' # 版本号,对应相应的tag值 s.license = 'MIT' # 指定开源协议 s.summary = 'upgrate database table columns' # 简短的描述语 s.homepage = 'https://github.com/yangyongzheng/DatabaseManager' # 主页地址 s.social_media_url = 'http://twitter.com/yangyongzheng' # 作者名和邮箱 s.author = { 'yangyongzheng' => 'youngyongzheng@qq.com' } # 公开源码git仓库地址,指定发布的tag版本,设置有子目录 s.source = { :git => 'https://github.com/yangyongzheng/DatabaseManager.git', :tag => s.version, :submodules => true } s.requires_arc = true # 设置为ARC s.platform = :ios, '7.0' # 指定支持的最低iOS版本 # 指定公开的头文件以及文件路径(路径以.podsepc文件所在文件夹开始算) s.public_header_files = 'DatabaseManager/DatabaseManager/DatabaseHeader.h' s.source_files = 'DatabaseManager/DatabaseManager/DatabaseHeader.h' # 设置子目录名称以及想公开的头文件(.h)和文件(如.h/.m)路径(路径以.podsepc文件所在文件夹开始算) s.subspec 'Standard' do |ss| ss.source_files = 'DatabaseManager/DatabaseManager' ss.public_header_files = 'DatabaseManager/DatabaseManager/Database*{Macro,Manager,Protocol}.h' end s.dependency 'FMDB' #指定依赖的其他第三方库,可指定具体版本号 end
项目DatabaseManager目录结构树如下:
指定的源码路径以.podsepc文件所在文件夹开始推算,具体路径以具体项目库源码路径为准,此仅供参考。
4. podspec文件校验
校验分为本地校验和远程仓库校验,校验之前要先设置好版本相对应的tag值。
- 本地校验命令如下:
# 本地校验命令
$ pod lib lint
# 拼接了其他参数的本地校验命令
$ pod lib lint --allow-warnings --use-libraries --verbose
注:根据校验错误提示,自己按需求在
$ pod lib lint
后面拼接--allow-warnings
、--use-libraries
、—verbose
等选项。
- 具体使用可运行
$ pod lib lint --help
查看。
- 校验成功如下图所示:
DatabaseManager passed validation.
表示通过校验。其中有一个警告- WARN | url: There was a problem validating the URL http://twitter.com/yangyongzheng.
,因为校验时我允许有警告所以可校验通过(pod lib lint
命令默认是不允许有警告的)。
- 远程仓库源码校验
# 远程仓库校验
$ pod spec lint
# 允许有警告、使用静态库,打印校验日志命令
$ pod spec lint --allow-warnings --use-libraries --verbose
- 校验拼接选项根本地校验一样,按自己需求拼接在
$ pod spec lint
后面。
- 校验成功时如下图所示:
5. 提交到官方检索库
上面第4步.podspec文件校验成功后,就可提交到官方检索库了。
- 提交之前先注册提交账号,命令如下:
$ pod trunk register email@example.com 'Your Name' --description='Personal Laptop'
注册成功后,注册的邮箱会收到一份邮件,进入邮箱点击下邮件中的验证地址验证下就注册成功了,接下来就可以提交了...
- 注册成功后提交的命令如下:
# If `PATH` is not provided, defaults to the current directory.
$ pod trunk push [PATH]
# 拼接选项和第4步校验拼接的选项要一致
$ pod trunk push --allow-warnings --use-libraries --verbose
注意:
$ pod trunk push
后面拼接的选项要和第4步$ pod spec lint
校验拼接的选项一致。
6. 开始使用
上叙第5步提交成功后,就可以开始在项目中使用我们公开的库了。
- 首先我们需要更新本地索引库:
pod setup
-
setup完成后,执行
pod search DatabaseManager
。 -
如果搜索不到结果,删除search_index.json文件
-
pod setup
成功后会生成~/Library/Caches/CocoaPods/search_index.json
文件。 - 终端输入
rm ~/Library/Caches/CocoaPods/search_index.json
删除检索文件。 - 删除成功后再执行
pod search DatabaseManager
就可以找到了。
-
-
在项目的Podfile文件中加上:
pod 'DatabaseManager'
,运行pod install --verbose --no-repo-update
,至此大功告成。
网友评论