一、创建私有仓库
需要先创建两个私有库,一个是repo索引库 ,一个是索引库TestRepos;
一个是kit代码仓库,一个仓库是存放代码的仓库TestKit(带上README.md和LICENSE),我这边使用的私有库是在github上创建的。
两个库的关系就好比AFNetworking和cocoapod的关系,换句话说,你的索引库对于你的代码库来说,就相当于cocoapod,你创建的所有代码库都存放在索引库里。
1、索引库:存放spec文件的地方,用于索引到代码的位置。
2、私有库:指的是我们真正放置组件代码的地方。
打个比方,索引库就好比指针,私有库就好比对象,指针中存放了对象的地址,通过地址可以找到对象!
1.创建远程索引库
github新建仓库
点击New repository,然后配置仓库属性
仓库配置
在图中1处填写仓库名称,选择图中2处的Private选项,图中3位置最好选上,在创建私有库时自动添加一个 README.md文件,以防止后面把本地代码库放入索引库时报错
Your configuration specifies to merge with the ref 'refs/heads/master'
from the remote, but no such ref was fetched.
然后点击 Create repository,创建仓库完成。
2.创建远程代码库
步骤与创建远程索引库相同,在配置仓库页面需要把图中3和图中4位置选中。
二、将索引库添加到本地
上面两个私有库创建完成之后,将远程索引库添加到本地,终端输入如下命令
cd ~/.cocoapods/repos
pod repo add TestRepo https://github.com/你的github账号名/TestRepo.git
“cd ~/.cocoapods/repos” cd到repo目录下,pod repo add 远程索引库名称 远程索引库仓库地址
远程索引库添加成功
添加成功后 输入ls 可以查看到 TestRepo项,也可以 Shift +cmd+G 在地址框里输入 ~/.cocoapods/repos 回车查看是否有TestRepo文件夹,到这里本地索引库就添加成功了。
三、创建本地Pod工程文件
创建本地podspecs代码库
cd +桌面目录,然后 pod lib create +本地pod工程名称,成功之后Xcode会自动打开本地pod工程,且桌面出现一个 TestKit文件夹,成功之后需要在终端输入一下几个问题的答案
pod工程创建成功后需回答的问题
三、配置pod工程文件
Xcode打开的工程中找到 Podspec Metadata目录下面的.podspec文件,
.podspec文件
其中s.homepage 对应你远程代码库的地址因为是私有库,所以后面验证.podspec文件时会报错 ,所以验证的时候用 "pod lib lint xxx.podspec --allow-warbnings "命令。.podspec文件配置完成之后,可以开始验证了。
.podspec文件验证成功
四、添加要封装的代码
验证完成之后就可以添加要封装的pod工程文件,先把pod工程中ReplaceMe.m文件删除
pod工程目录
将要添加的文件放入到Classes目录下,要添加的图片资源等放入到Assess目录下
pod工程存放资源的目录
将Classes添加到Pod工程
Classes文件位置
然后添加一个LKViewController类,声明一个-(void)biuldPrivateSpeo;方法
自定义的方法
在LKViewController.m文件中实现该方法
方法实现
添加完成之后 ,cmd+B编译一下成功之后要把代码上传到github远程代码仓库里。
git add .
git commit -m "first commit"
git remote add origin 远程代码库地址
git push -u origin master
直接push 会报错
git push报错
这是因为我们本地的Podspec项目里面的READEME.md和LICENSE与远程仓库冲突了,终端执行如下命令解决冲突
git pull origin master
git pull origin master --allow-unrelated-histories
解决冲突后要重新 add 在提交
git add .
git commit -m "fix Config"
重新push
git push -u origin master
上传成功之后如下图
pod项目上传成功
六、添加标签Tag
git tag 0.1.0
git push origin 0.1.0
成功效果如下
tag添加成功
七、将私有库放到索引库里面
cd 到本地pod工程根目录,执行 pod repo push 索引库 xxxx.podspec
pod repo push TestRepo TestKit.podspec --allow-warnings(允许警告,不然有时push把警告也当error处理)
添加成功效果如下
私有库添加成功
八、调用
新建一个工程pod 引入私有库
pod引入私有库
注意:
source 后面的链接是必须写的,对应的是远程索引库的地址
pod引入成功
私有库pod引入成功
在项目中调用
私有库调用成功