一、创建github仓库
大家都知道,CocoaPods的工程源代码都托管在github上,开发者所pod下来的第三方库、源代码或工程,可以放在github上,也可以放在自己的官网上。我在自己的github上创建一个仓库,用来放置pod出来的文件。这里创建了MQL201609191100仓库,如下图:
上图提示的6处,对应说明如下:
1、Repository name
仓库名称,我这里是MQL201609191100,必填的
2、Description
仓库描述,仓库里的文件提供的功能,可选
3、仓库的公开性
Private需要付费,另外自由自己能看到;这里选Public
4、是否自动创建readme文件
一般情况下,每个仓库都有一个该文件,必选的
5、是否添加.gitignore文件
.gitignore文件里记录了若干文件类型,git提交时,属于这里面的文件类型的,将被过滤掉;也可以不添加
6、license类型
软件授权,必须要有的,我这里选的是MIT
上述填写完后,点击Create repository,就可以成功创建仓库(点开他,只有一个LISENSE, 一个README)。
二、clone仓库到本地桌面
为了便于在仓库中进行增删改,需要先将仓库clone到本地,我这里使用命令行来clone到桌面,如下图
指令执完后,点击桌面上的MQL201609191100文件夹,显示如下
后续所有操作,均在此目录下执行。
三、添加podspec描述文件
每个CocoaPod依赖库都有自己的描述文件,文件名和依赖库名一致;为了方便处理,将仓库名、依赖库名统一。下面展示MQL201609191100.podspec内容,大家可以拷贝过去,根据自己的情况修改:
Pod::Spec.new do |s|
s.name = "MQL201609191100"
s.version = "1.0.1"
s.summary = "client library"
s.description = "client library for iOS (static lib), Supports iPhone Simulator (i386), armv7, armv7s."
s.homepage = "https://github.com/qianlima210210/MQL201609191100"
s.license = "MIT"
s.author = { 'maqianli' => 'qianlima210210@163.com' }
s.source = { :git => "https://github.com/qianlima210210/MQL201609191100.git", :tag => '1.0.1' }
s.platform = :ios, '5.0'
s.source_files = 'Libraries/EGMonitor.h'
s.ios.vendored_library = 'Libraries/libuniversal.a'
s.frameworks = 'CoreTelephony','SystemConfiguration','AdSupport' #所需的framework,多个用逗号隔开
s.libraries = 'z'
s.requires_arc = true
end
四、本地编写完后,需要提交到github
1、提交前的pod验证
如果,验证没通过,可根据终端提示修正。
2、提交到github
OK,github上应该能看到自己添加的文件了。
五、上传MQL201609191100.podspec到CocoaPods官方仓库中
要想一个MQL201609191100真正可以用,就得把生成的MQL201609191100.podspec文件提交到Cocoapods官方的Specs仓库中,才能被search到并使用
按照git的规则,要想向别人的仓库中添加文件,fork一份,添加修改,然后push给作者,等待审核,然而这条路已经被堵死了..
CocoaPods为我们提供了另外一个更方便安全的方法 trunk
Trunk的Register
如果第一次使用的话那么就需要注册了,需要cocoapods 0.33版本以上才支持
pod trunk register *youremail*@gmail.com '*yourname*' --description='iMac' --verbose
以上命令是注册所需的,替换你的邮箱,用户名,以及描述内容, --verbose可以输入详细的debug
完成后需要去邮箱验证一下能继续往下操作
注册成功以后,可以使用
pod trunk me
查看注册信息,以及发布过的Pods
提交MQL201609191100.podspec
在MQL201609191100.podspec文件的路径下执行
pod trunk push CLRollingCycleView.podspec
这条命令做了如下三件事:
- 验证本地的podspec文件,也可以使用 pod lib lint验证
- 上传podspec文件到trunk服务
- 将{project}.podspec文件转为{poject}.podspec.json文件
使用终端执行 pod search MQL201609191100就可以找到了,如果没有找到 pod setup再试一下
参考:
http://www.360doc.com/content/14/0309/10/11029609_358969425.shtml
http://www.jianshu.com/p/98407f0c175b