CocoaPods公有库

导语

Cocoapods是iOS开发中一款优秀的包管理工具,Cocoapods背后的原理是什么呢?如何制作出属于自己的私有库?如何制作属于自己的公有库呢?


Cocoapods原理
关于具体的原理,可以参考Objc上的这篇文章:http://objccn.io/issue-6-4/


别人的pods公有库是如何制作的

我们以 AFNetworking 为例,执行 pod search ‘AFNetworking’


这里写图片描述


按照我的理解 pods大概做了这些工作:

/.cocoapods/repos/master/Specs 文件夹下,查询 AFNetworking,找到AFNetworking.podspec.json文件

读取 AFNetworking.podspec.json 文件 将该资源的版本号,下载路径,库简介等信息

呈现到终端中,就是我们上面看到的 pod search ‘AFNetworking 搜索的结果。


反过来理解,就是 一个支持pods公有库所需条件

1、首先使用pods管理项目
2、创建并编辑 xxx.podspec 文件
3、将这个xxx.podspec 推送到pods的git仓库中
4、每次执行 pod install 或者 pod update(pods会自动远程的podspec文件,下载到本机 ~/.cocoapods目录下)
5、执行 pod search ‘自己的库’就能看到自己的库出现在终端搜索结果中


如何制作出属于自己的公有库?


准备工作


1、准备自己的项目工程(包含 一个本地工程 ,远程对应的git仓库, 核心代码添加到 Classes 文件中)


2、将本地的框架工程推送到远程git仓库

注 关于git的操作,不是本文的重点。这里不做太多的介绍 如果有需要,请关注我随后的文章将会介绍一些git的操作。


3、保证cocoapods 0.33版本以上 (兼容pod trunk)


4、pod trunk me 查看邮箱 ,记录自己的邮箱和名字,后续需要用到


正式工作


1、 为项目工程打tag

pods管理下的库,版本是根据git的tag来区分的,所以我们创建好工程之后需要为我们的仓库打一个tag,并且推送到远程仓库

git tag 0.01 ##为git打tag
git push –tags ##将tag推送到远程仓库


2、工程中添加podspec (一定要 cd 到当前工程路径,在添加 podspec)

最终项目工程结构如下:


3、编写podspec文件(直接贴编辑后的文件内容)

这里写图片描述

注意:
1. s.version应和tag的版本一致.
2.将源代码放置在固定的文件夹下,同时修改s.source


4、验证podspec文件


5、推送podspec文件 到pods的specs

首先push修改后的podspec文件到本地工程的git远程仓库

git add .
git commit -m “”
git pull
git push

接着推到pods的specs(推到pods的specs之前先注册一下)

pod trunk register 替换成自己的github邮箱 “替换成自己的github用户名” –description=’macbook pro’

查看邮箱,复制链接到浏览器打开,激活pods的specs给你的权限

最后我们把项目spec 推送到pods的specs

pod trunk push ZYYUIKitBeta.podspec


7、更新本地的pods文件夹

如果要使用,需要先更新本地的pods仓库

pod repo update

等待。。。 最终结果

执行 pod search ZYYUIKitBeta,自此大功告成。

这里写图片描述

iOS技术交流群 QQ:553633494

Guess you like

Origin blog.csdn.net/u014641631/article/details/52851328