给自己的库添加Cocoapods支持
在我们项目开发中一般会使用cocoapods来管理三方库,比如 AFNetworking、SDWebImage等。如果我们自己写了一个库抑或工具类,我们不想通过手动添加的方式在每个项目之间传递的话,可以考虑给这个库添加cocoapods支持。功夫不负有心人,在网上摸索了2天后,终于成功的给我写的类添加上了cocoapods支持。
-
大体步骤可分为以下几个步骤
1.通过git上传我们已经写好的库;
2.创建spec文件,并编辑;
3.注册spec文件并上传到cocoapods。
下面我将详细的说明每一个步骤:
-
1.通过git上传库
- 首选我们创建一个文件夹(temp)存放写好的库(MyLib)和示例工程(TestLib),当然MyLib要添加进示例工程中。
-
通过git上传MyLib和TestLib到github。
- 1.在github创建仓库:
- 2.打开终端通过git命令上传代码:
1.cd 到temp文件夹的更目录下; 2.git init (初始化本地仓库); 3.git add . (将仓库添加到临时仓库,注意:"add"和"."之间有个空格); 4.git commit -m"描述信息" (添加描述信息); 5.git remote add origin github上仓库的地址(关联到远程仓库); 6.git push -f origin master(推送到远程仓库)。
执行完上诉命令后,在github上我们创建的仓库里就可以看到我们刚才提交的代码了。
- 1.在github创建仓库:
-
2.创建spec文件
-
cd到temp的根目录下,在终端输入命令:
pod spec create MyLib(库的名称)
在temp文件夹下就创建了一个名称为MyLib.podspec的spec文件了。通过xcode打开spec文件编辑。
- 编辑spec文件(可以参考:cocoapds官方文档的规则)
我们只关心几个重要的属性即可s.name = "MyLib" //库的名称 s.version = "0.0.1" //库的版本 s.summary = "just test" //库的摘要 s.description = "这里的内容要比summary的要长,要不然会报警告" s.homepage = "https://github.com/RMHuang/Temp" //远程仓库的地址 s.author = { "RMHuang" => "aaa@qq.com" } s.license = "MIT" s.platform = :ios, "8.0" //这个属性一定要打开,库最低支持的版本 s.source = { :git => "https://github.com/RMHuang/Temp.git", :tag => "#{s.version}" } //这里填入的地址是下载的地址,git结尾的 s.source_files = "MyLib", "MyLib/**/*.{h,m}" //“**”这个通配符代表MyLib文件夹下的所有文件,"*.{h,m}"代表所有的.h,.m文件。
-
-
给MyLib打标签。
-
cd到temp的根目录下,在终端输入命令:
git tag '0.0.1' //标签 git push --tags //推送到远程仓库
-
-
注册sepc并推送到远程仓库
-
使用trunk进行注册
- cd到temp的根目录下,在终端输入命令:
pod trunk register 2282802627@qq.com 'HuangZhiHao' --verbose //邮箱一定要填写正确,因为要通过邮箱验证
注册完成在终端会提示如下信息:
登录刚才填写的QQ邮箱,打开cocoapods发送给的邮件,复制其中的链接并在浏览器中访问。
如果出现下图界面,则说明注册成功:
再次回到终端在终端中输入以下命令进行推送:pod trunk push MyLib.podspec --allow-warnings
这个过程稍微有点长,稍等即可。
如果发布成功会出现下面的界面:
这里有个小插曲,可以看到上面发布成功的是MyPersonLib,而不是MyLib,是因为我发布的时候,MyLib这个名称已经被别人占用了,不得已只好改为MyPerosnLib并把tag设定成了0.0.2,重新提交验证了一次
验证是否发布成功:
-
更新库版本(明天写)
-
写在最后,发布成功不一定就能搜索到自己发布的库,
-
1.此时首先更新本地的cocoapods库:
pod repo update
-
2.搜索的时候用下面的命令:
pod search 库的名称 --simple
-
下一篇: 创建你的第一个 CocoaPod
推荐阅读