使用
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