如何将自己的SDK上传到GitHub上并用cocoapods管理

一、在Github上创建存储库(前提是得有一个Github账号,如果没有就注册一个)

1.在你账号的首页的右上方会有新建存储库的按钮,如下图:


如何将自己的SDK上传到GitHub上并用cocoapods管理_第1张图片
屏幕快照 2016-05-06 下午4.58.53.png

2.点击New reposltory进入创建页面


如何将自己的SDK上传到GitHub上并用cocoapods管理_第2张图片
屏幕快照 2017-08-16 下午4.25.19.png

按自己的需求填写好之后,点击Create repository来创建这个存储库,出现下图所示,说明创建成功了。
如何将自己的SDK上传到GitHub上并用cocoapods管理_第3张图片
屏幕快照 2017-08-16 下午4.26.32.png

3.将Github上的存储库clone到本地
a.命令方式是在终端选好指定的目录后输入命令:git clone 工程的网址

如何将自己的SDK上传到GitHub上并用cocoapods管理_第4张图片
屏幕快照 2017-08-16 下午4.27.45.png

b.如果通过GitHub客户端也是可以的,需要点击客户端左上角的加号,然后选择要clone 的存储库


如何将自己的SDK上传到GitHub上并用cocoapods管理_第5张图片
屏幕快照 2017-08-16 下午4.28.52.png

选择需要放置的位置

如何将自己的SDK上传到GitHub上并用cocoapods管理_第6张图片
屏幕快照 2017-08-16 下午4.30.02.png

然后点击clone 即可。

二、将需要cocoapods进行托管的SDK上传到GitHub存储库上且发布到cocoapods上。
1.将自己的SDK工程拷到之前clone到本地的存储库中。


如何将自己的SDK上传到GitHub上并用cocoapods管理_第7张图片
屏幕快照 2017-08-16 下午5.07.06.png

2.创建pod 账号
发布到cocoapods上你需要有一个pod 的账号,可以使用pod trunk me 来查看自己的账号信息,如果没有账号的话需要先注册一下:


屏幕快照 2017-08-16 下午1.42.16.png

然后通过邮箱去验证一下

如何将自己的SDK上传到GitHub上并用cocoapods管理_第8张图片
屏幕快照 2017-08-16 下午1.43.45.png

打开这个地址就可以验证成功了,此时再输入命令pod trunk me 就可以看到自己的账号信息。

如何将自己的SDK上传到GitHub上并用cocoapods管理_第9张图片
屏幕快照 2017-08-16 下午1.46.31.png

3.创建podspec文件
使用终端进入到工程文件的目录中,在README.md文件所在的位置创建一个podspec 文件,使用pod spec create repositoryDemo

如何将自己的SDK上传到GitHub上并用cocoapods管理_第10张图片
屏幕快照 2017-08-16 下午5.08.37.png

4.编辑podspec文件
因为新建的podspec是一个包含所有需要填写信息的文件,其中有很多东西是不需要填就可以的,可以直接copy别人的podspec文件,然后将需要改动的地方作出相应的改动即可。

Pod::Spec.new do |s|
  s.name         = "RepositoryDemonstration"    #存储库名称
  s.version      = "0.0.1"      #版本号,与tag值一致
  s.summary      = "a repository demo"  #简介
  s.description  = "a repository demo"  #描述
  s.homepage     = "https://github.com/xiaowu2016/RepositoryDemonstration"      #项目主页,不是git地址
  s.license      = { :type => "MIT", :file => "LICENSE" }   #开源协议
  s.author             = { "zhangchao" => "[email protected]" }  #作者
  s.platform     = :ios, "7.0"                  #支持的平台和版本号
  s.source       = { :git => "https://github.com/xiaowu2016/RepositoryDemonstration.git", :tag => "0.0.1" }         #存储库的git地址,以及tag值
  s.source_files  =  "RepositoryDemonstration/Other/**/*.{h,m}" #需要托管的源代码路径
  s.requires_arc = true #是否支持ARC
  s.dependency "Masonry", "~> 1.0.0"    #所依赖的第三方库,没有就不用写

end

5.设置tag的值,并上传到GitHub上
(1) git add * (将代码添加到暂存区)
(2) git commit -m '提交内容' (将代码提交到本地库,并写上简述)
(3) git tag 'xxx'(设置本地分支的版本,xxx必须是你在 .podspec 文件中的 version(版本号))
(4) git tag (使用此命令查看tag的值是否设置成功)
(5) git push origin master (将本地主干提交到远程服务端)
(6) git push origin xxx(将本地XXX版本上传到GitHub服务器上并设置origin为XXX)

6.发布到cocoapods 上进行托管
(1) 先用pod spec lint 验证podspec 文件

如何将自己的SDK上传到GitHub上并用cocoapods管理_第11张图片
屏幕快照 2017-08-16 下午5.17.22.png

这里报了个警告,直接使用pod spec lint --allow-warnings来忽略所有警告即可。

如何将自己的SDK上传到GitHub上并用cocoapods管理_第12张图片
屏幕快照 2017-08-16 下午5.18.29.png

(2) 发布
输入 pod trunk push --allow-warnings命令来发布到cocoapods上,这可能需要几分钟时间。


如何将自己的SDK上传到GitHub上并用cocoapods管理_第13张图片
屏幕快照 2017-08-16 下午5.20.32.png

(3) 使用pod search 搜索自己的库
直接在终端输入pod search RepositoryDemostration 结果显示没找到

屏幕快照 2017-08-17 上午8.58.03.png

可能是发布到pod远程库成功了,但是本地库没更新导致的,所以用了pod repo update命令,结果还是没找到,但是我在本地库里用find 命令来搜是能搜到的

如何将自己的SDK上传到GitHub上并用cocoapods管理_第14张图片
屏幕快照 2017-08-17 上午9.06.01.png

最后在网上查了一下,可能是需要在pod search RepositoryDemostration 后面加上--simple,试了一下,果然能搜到了

如何将自己的SDK上传到GitHub上并用cocoapods管理_第15张图片
屏幕快照 2017-08-17 上午9.03.10.png

用pod search --help查了一下 --simple是只搜索库名字,所以应该是我注册pod账号时所用的用户名与.podspec文件里作者的名字不一致引起的。

(4) 使用刚发布的库
新建一个工程,然后导入自己刚发布的库,Podfile文件如下:

如何将自己的SDK上传到GitHub上并用cocoapods管理_第16张图片
屏幕快照 2017-08-16 下午5.59.53.png

结果如图:


如何将自己的SDK上传到GitHub上并用cocoapods管理_第17张图片
屏幕快照 2017-08-16 下午6.00.43.png

可以看到RepositoryDemonstration与其依赖库Masonry都导入成功。

你可能感兴趣的:(如何将自己的SDK上传到GitHub上并用cocoapods管理)