创建私有库

一、创建私有仓库

需要先创建两个私有库,一个是repo索引库 ,一个是kit代码仓库,我这边使用的私有库是在github上创建的。

 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

添加成功效果如下

私有库添加成功

八、调用

新建一个工程pod 引入私有库

pod引入私有库

注意:

source 后面的链接是必须写的,对应的是远程索引库的地址

pod引入成功

私有库pod引入成功

在项目中调用

你可能感兴趣的:(创建私有库)