-
写在前面
可能你经常会写一些自用的小工具或者框架。但是,每次新建工程都要拷贝这些东西,实在会很神烦。既然有依赖库的管理工具,那么自然要好好使用才是。
鉴于由本地链接github远端仓库并上传代码略繁琐,在此举一个简单点的例子,供参考。
-
前提条件
github 账号 (没有账号的先去自己申请一下)
梯子 (实在不知道怎么弄梯子的,去github搜官方的Lantern下载下来用)
iTerm (好用的终端)
-
在github上新建一个库
一定要注意 .gitignore
和 license
的选择。不懂的,按照图中的选择来即可。点击 Create repository
即可完成创建。
然后,创建一个 README
文件。(此文件是为了后续写一些使用、介绍之类的具体文档)
-
打开
iTerm
或者Mac自带终端
将代码克隆到本地
cd Desktop
git clone 你的github仓库地址
-
使用
trunk
新建pod
1.注册 trunk
trunk
需要CocoaPods 0.33
版本以上,用pod --version
命令查看版本,如果版本低,需要升级:
// Pod 版本检查
pod --version
// 版本升级
sudo gem install cocoapods --pre -n /usr/local/bin cocoapods
// trunk注册
pod trunk register xxxx.shaxxxnxxxx@xxxx.com 'Shaxxxon XXxxx' --description='shaxxxnxxxxx macbook pro' --verbose
加上
--verbose
可以输出详细debug
信息,方便出错时查看。
2. 验证并查看信息
注册后 CocoaPods
会给你的邮箱发送验证链接,点击后就注册成功了,可以用pod trunk me
命令查看自己的注册信息。
3. 创建 Podspec
描述文件
// 首先,转到项目内
cd 你的项目文件直接拖过来
// 初始化.podspec文件
pod spec create 你的项目名(不加后缀)
4. 编辑 Podspec
描述文件
// 创建pod索引库,固定写法,并且定义索引库的名字为s,后续通过s,就能拿到索引库
Pod::Spec.new do |s|
// 设置名称
s.name = "HttpManager"
// 设置版本号
s.version = "0.0.1"
// 设置摘要
s.summary = "A short description of HttpManager."
// 设置详情
s.description = "Good"
// 设置仓库主页
s.homepage = "http://EXAMPLE/HttpManager"
// 设置许可证
s.license = "MIT"
// 设置作者
s.author = { "iThinkerYZ" => "690423479@qq.com" }
// 设置仓库源,表示在哪可以找到组件工程
s.source = { :git => "", :tag => "#{s.version}" }
// 设置 源文件路径 => 不是整个工程的文件,而是自己封装的代码,以后别的工程引入,就会引入这里的代码。
s.source_files = "HttpManager/Classes/**/*.{h,m}"
// s.dependency = '' 组件工程依赖哪些第三方框架
// s.frameworks = 'UIKit', 'MapKit' 组件工程依赖哪些原生框架
// s.resource_bundles = {} 组件工程图片资源
end
5. push
代码到github
在验证和上传你的 podspec
文件到 trunk
之前,需要将你的源码 push
到 Github
上,tag
一个版本号并发布一个 release
版本,这样 podspec
文件中的 s.source
的值才能是准确的:
git add -A && git commit -m "Release 0.0.1."
git tag '0.0.1'
git push --tags
git push origin master
6.验证
对于编辑完的 podspec
文件,需要验证一下这个文件是否可用,如果有任何 WARNING
或者 ERROR
都是不可以的,它就不能被添加到 Spec Repo
中,不过 Xcode
的 WARNING
是可以存在的,验证需要执行命令:
pod spec lint 你的podspec文件名.podspec
// 或者 pod lib lint 命令来验证
通过的话就验证成功,失败会告诉你错误的位置,一般很详细
验证成功
验证失败
此处失败的解决方案:
// 你可以将你的Xcode拖进终端内,看其路径
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
7. 上传
// 命令
pod trunk push
上传失败
上传失败解决方案 :继续上传(上传失败是网络不稳、不好的缘故)
上传成功
8. 查询自己的 pod
简单点,可以在 CocoaPods官网
自己查询。
命令行查询,首先要更新自己的本地 pod
库
// 更新本地 pod 库
pod repo update