美文网首页
iOS 让自己的工具支持CocoaPods

iOS 让自己的工具支持CocoaPods

作者: PamelaChen | 来源:发表于2017-07-13 09:04 被阅读0次

前言

作为一个iOS开发者,一定使用过CocoaPods吧。如果还不熟悉的小伙伴可以参考一下CocoaPods安装和使用教程CocoaPods 作为OS XiOS 开发平台的类库管理工具,已经非常完善和强大。通常我们用CocoaPods来管理第三方开源类库,但是我们也极有可能会开发一些常用工具或静态类库供他人使用。

近期由于公司对项目管理的规划,需要使用CocoaPods做三方库版本依赖管理,因此研究学习下了创建Pods依赖库。苦于网络查找的资料太多,有些并不适合自己这种小学生(大神们太基础的并未记录),所以有了本文。下面进入正片部分:

正文

1.创建自己的GitHub仓库

CocoaPods是托管在GitHub上的,所有的Pods也是托管在GitHub上,所以我们首先需要创建一个属于自己的GitHub仓库。

创建GitHub仓库有两种方式:

1.通过GitHub网站登录账号后创建仓库,如图:

2.通过GitHub的客户端“GitHub Desktop”来创建,如图:

关于创建仓库做一个简单说明:

(1)Initialize: 是否默认创建一个 README 文档,一个完整的库都会有这个说明文档,这里最好勾选一下。不过如果忘记的话也不要紧,后面手动创建也是可以的。

(2).gitignore: 忽略项文件,记录一些想忽略的文件类型,凡是该文件包含的文件类型, git 都不会将其纳入到版本管理中。看需要选择就行。

(3)license: 正规的仓库都有一个 license 文件, Pods 依赖库对这个文件要求比较严格,需要有这个文件。这里最好让 github 自动创建一个,不过后续手动创建也行。我们这次先使用 MIT 类型的 license

上面各项根据大家需要填写完毕后,点击 Create repository 按钮即可,创建成功后如下所示:

2.Clone仓库到本地

为了方便向仓库中删减内容,需要将仓库 clone 到本地,这里有多种操作方式,可以选择你喜欢的一种。clone到本地后,目录结构如图(后续操作都在该目录下进行)

3.向本地仓库中添加创建 Pods 依赖库所需的文件

(1)主类文件

创建 Pods 依赖库就是为了方便别人使用我们的成果,比如我想共享给大家的HZWaitView类,那这个类自然必不可少,我们把这个类放入一个 HZWaitView 的目录中:

(2)Demo工程

为了快速教会别人使用我们的 Pods 依赖库,通常需要提供一个 demo 工程:

(3)README.md

使用 github 的人应该都熟悉这个文件,它是一个成功的 github 仓库必不可少的一部分,使用 markdown 对仓库进行详细说明。

(4)LICENSE 文件

CocoaPods 强制要求所有的 Pods 依赖库都必须有 license 文件,否则验证不会通过。

(5).podspec 文件

每个 Pods 依赖库必须有且仅有一个名称和依赖库名保持一致,后缀名为 .podspec 的描述文件。

创建这个文件有两种方法:

1.复制已有的 podspec 文件然后修改对应的参数。

2.执行命令行创建。

我们使用命令行创建,先cd到本地仓库目录,然后终端输入命令:pod spec create HZWaitView 

创建成功后终端显示如下:

本地仓库目录结构如下:

文件都准备好后提交到GitHub,并打上tag~‘v0.0.1’(注意版本前面的’v‘要加上,不然后面有坑)

4.修改.podspec文件

创建出HZWaitView.podspec文件后(可以使用sublime或文本编辑打开),我们打开可以发现该文件为ruby文件。里面有很多内容,我们只需要根据需要做相应修改。

Pod::Spec.new do |s|

s.name        = "HZWaitView"  //名字,一般和podspec文件名保持一致

s.version      = "0.0.1" //版本号 这个版本号需要和刚才提交GitHub的tag值一样,并且不用加上'v'

s.summary      = "Wait view when waiting" //描述,这个随便自己怎么写

s.description  = <<-DESC

This just a wait view when waiting  //这个随便,可以不写

DESC

s.homepage    = "https://github.com/PamelaChen1/HZWaitView" //项目主页,一般是GitHub的链接地址

s.license      = "MIT"

s.author            = { "yc" => "805507174@qq.com" }

s.platform    = :ios, "7.0"  //支持的平台和版本,这个一定要填

s.source      = { :git => "https://github.com/PamelaChen1/HZWaitView.git", :tag => "v#{s.version}" }

s.source_files  = "HZWaitView/**/*.{h,m}"//这里的路径自己填上去 按照层级写就行了

s.frameworks = "UIKit", "Foundation"

s.requires_arc = true //是否支持ARC

end

5.验证.podspec文件

编辑完podspec文件后需要验证一下这个文件是否可用podspec文件不允许有任何的Warning或者Error,执行命令:pod spec lint HZWaitView.podspec  验证通过如下:

如果验证未通过只存在warning不存在Error的情况,可使用命令:pod lib lint --allow-warning 再次验证。

6.提交.podspec文件

经过前面的步骤,我们的 CocoaPods 依赖库就已经准备好了,但是现在你还不能在你的工程中使用它。如果你想让它成为一个真正可用的依赖库,还需要最后一步操作:将刚才生产的 podspec 文件提交到 官方的 CocoaPods Specs 中。

没错,我们平时用的能用 pod search 搜到的依赖库都会把它上传到这个仓库中, 也就是说只有将我们的 podspec 文件上传到这里,才能成为一个真正的依赖库,别人才能用!

提交.podspec文件需要先注册一个cocoapods账号,可以使用命令:

pod trunk register xxxx@qq.com 'Pamela' --description='macbook air'

注册完成后可以使用命令:pod trunk me 来查看注册情况,如下图

账号注册完成后我们只需要使用命令:pod trunk push HZWaitView.podspec 提交该文件,下面只需要等待就可以了。经过漫长的等待,终于看到结果

大家看到这个是不是非常激动呢。

当我们尝试搜索依赖库时,发现

这时内心时崩溃的。遇到这个问题的解决方法就是Finder前往资源库(~/Library/Caches/CocoaPods)去删除缓存中的search_index.json,然后再pod search一次就可以了。最终结果

7.私有库的搭建

1.创建代码仓库并克隆到本地,本地文件目录结构如下图:

2.使用终端命令,上传代码到git仓库,命令如下:

cd ~/.HZBankWebContainer 

git init

git add .

git commit -m "first commit"

git remote add origin XXXXXX  (XXXXX为仓库地址)

git push -u origin master

3.创建podspec文件仓库并克隆到本地,本地spec文件目录如下图:

4.上传spec文件至git仓库,命令与代码上传一致

5.进入代码仓库,创建分支,终端命令如下:

git checkout -b 1.0.0  //检出brunch分支

git push origin 1.0.0  //推送分枝

6.完成以上操作后就可以使用cocoapods来管理类库了,如果使用私有库中有依赖于其他三方开源库的,需要连内网通过代理访问外网。命令如下:

git config --global http.proxy "http://192.68.70.62:3128"  //设置代理服务器地址访问git

git config --global https.proxy "http://192.68.70.62:3128"

git config --global --get-all http.proxy   //获取代理信息

git config --global --unset http.proxy

git config --global --unset https.proxy   //重置代理

相关文章

网友评论

      本文标题:iOS 让自己的工具支持CocoaPods

      本文链接:https://www.haomeiwen.com/subject/hvxbhxtx.html