×

创建CocoaPods的制作过程

96
lxb0706
2016.02.01 17:41* 字数 759

使用CocoaPods来管理第三方库实在是方便,在学会了使用CocoaPods后,开始尝试创建一个自己的版本依赖库,当然,迟早要走到这一步的.

创建仓库

接下来实现一个首页广告循环播放功能,项目名为CLRollingCycleView

本地仓库

使用Xcode创建一个CLRollingCycleView项目,项目并添加Classes(核心功能)

远程仓库

在github上同样创建一个CLRollingCycleView,最好保持同名,需要注意的是,在创建仓库的时候需要添加license类型,这里我使用license类型为MIT

关联本地仓库到远程仓库

进到本地仓库所在的目录

cd ~/workspace/CLRollingCycleView

关联远程仓库

git remote add origin git@github.com:chrislian/CLRollingCycleView
git fetch
git merge origin/master master

##****添加****Pods****依赖库所需文件
依赖库所需的文件格式为{project}.podspec格式,每个Pods依赖库必须有这个描述文件

添加{project}.podspec文件

pod spec create CLRollingCycleView
//Specification created at CLRollingCycleView.podspec

这样就生成了CLRollingCycleView.podspec文件,打开该文件添加内容,并删除不需要的:

Pod::Spec.new do |s|

  s.name         = "CLRollingCycleView"
  s.version      = "0.0.1"
  s.summary      = "循环滚动播放图片"

  s.description  = <<-DESC
       循环滚动播放图片,自动播放,手动播放
                   DESC

  s.homepage     = "https://github.com/chrislian/CLRollingCycleView"
  s.license      = "MIT"
  s.author       = { "chrislian" => "chris0592@163.com" }
  s.platform     = :ios,'6.0'

  s.source       = { :git => "https://github.com/chrislian/CLRollingCycleView.git", :tag => "#{s.version}" }
  s.source_files = "CLRollingCycleView/Classes/*.{h,m}"
  s.framework    = "UIKit"
  s.requires_arc = true
end

s.source_files指向循环滚动的核心代码放在项目的CLRollingCycleView/Classes*.{h,m}

提交到github

至此,需要的文件基本都准备好了,那么现在提交到github上

pod验证

pod lib lint

如果有报错,会明确指出哪个地方出错,按提示信息修改

提交代码到github

git add .
git commit -m "version 0.0.1"
git push origin master

打上标签

git tag 0.0.1
git push --tags

不出问题的话,就可以在github上看到最新提交的内容了
##****上传****{project}.podspec****到****CocoaPods****官方仓库中
要想一个CLRollingCycleView真正可以用,就得把生成的CLRollingCycleView.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****

提交{project}.podspec

{project}.podspec文件的路径下执行

pod trunk push CLRollingCycleView.podspec

这条命令做了如下三件事:

  • 验证本地的podspec文件,也可以使用 pod lib lint验证
  • 上传podspec文件到trunk服务
  • {project}.podspec文件转为{poject}.podspec.json文件

如果没有报错的话,那么基本就妥了

使用

终端执行 pod search CLRollingCycleView就可以找到了,如果没有找到 pod setup再试一下

-> CLRollingCycleView (0.0.1)
   循环滚动播放图片
   pod 'CLRollingCycleView', '~> 0.0.1'
   - Homepage: https://github.com/chrislian/CLRollingCycleView
   - Source:   https://github.com/chrislian/CLRollingCycleView.git
   - Versions: 0.0.1 [master repo]
(END)

协同工作

当需要其他人来共同维护你的代码,需要提供权限,

pod trunk add-owner CLRollingCycleView chrislian@163.com

参考链接:
CocoaPods之详情--制作篇
Publish Your Pods on CocoaPods with Trunk

开发笔记
Web note ad 1