私有pod库的创建和使用简单介绍:
1.创建并设置一个私有的Spec Repo
我们在git上面需要先创建一个 Spec Repo 仓库,公开的Pods都在这个里面,Spec Repo相当于是一个容器。这个git仓库直接创建成私有的即可(我们是私有的 Spec Repo,所以尽量是创建私有的git仓库),完成创建后需要将 Spec Repo 添加到我们本地的CocoPods中,命令如下:
// pod repo add [Private Repo Name] [GitHub HTTPS clone URL]
$ pod repo add ANTestPodSpec git@gitlab.anniu-inc.com:zhixing.gu/ANTestPodSpec.git
2.创建Pod项目工程文件
我们在git上再创建一个存放代码的私有库,主要存放我们的代码。clone到我们本地。
Cocopods提供有一个工具,相关的文档介绍:http://guides.cocoapods.org/making/using-pod-lib-create,我们使用这个开始创建项目。首先,我们需要 cd 到我们项目的目录(git上创建的代码库目录),然后执行我们下面的命令:
$ pod lib create ANAppReviewPodDemo
#这里他会询问我们4个问题
#1.是否需要一个工程 我的选择:Yes
#2.选择一个测试框架 我的选择:Expecta
#3.是否基于View测试 我的选择:Yes
#4.类的前缀 我的选择:AN
执行完毕他会自动执行 pod install 命令创建项目并生成依赖,我们可以看到我们代码库的目录结构大致是这样的
Example: #DemoApp
LICENSE: #开源协议,默认MIT
README.MD : #markdown格式的README
ANAppReviewDemo.Podspec : #创建的podSpec文件,他是一个ruby文件,使用Xcode打开就可以看到语法高亮。subline也可以直接进行修改。下面是我这边配置的一个截图:
ANAppReviewPodDemo:#这里是我们之后的文件要对应放置。里面有一个Classes,下面放的是.h和.m加.pch文件等。Assets存放的则是我们的图片资源和Xib资源。 这里需要注意的一点就是我们不管是资源还是类文件都是要对应在下面的文件中放置的。然后我们不需要手动拖入项目中,直接执行pod install即可,他会自动给我们添加进去
3.创建好工程后我们就按照刚下面目录介绍哪里去进行配置即可。
之后我们打开项目可以看下工程里面的目录情况:这里面的文件是我这边将之前其他pod库中的文件拿过来直接使用的,所以你们也可以直接将项目中的文件这样整理进来。到这里我们项目都已经差不多好了,需要我们验证我们的Spec文件 和发布版本。
4.验证podSpec文件
编辑完podSpec文件后我们需要验证一下是否管用。通常网上很多博文再说到验证podSpec文件时大多数给出的命令则是 pod lib lint,当然确实是使用这个去验证,但是我们在podSpec文件中添加有依赖的时候就会提示验证失败。所以这个时候一般操作应该是这样的:
项目中有添加依赖的则执行下面的命令
#pod lib lint --sources=依赖的文件git地址
$ pod lib lint --sources=git@gitlab.anniu-inc.com:frontend/iOS_pods/QLPodSpec.git,https://github.com/CocoaPods/Specs.git --verbose --allow-warnings --use-libraries
如果项目中没有其他依赖则执行下面的命令
$ pod lib lint
验证成功则可以直接执行下面的第5步。如果有ERROR存在则说明验证不成功,那么需要按照ERROR去修改问题。
5.向Spec Repo 提交podspec
向Spec Repo提交podSpec需要完成的点必须是验证通过的。否则无法向Spec Repo提交我们的podSpec。执行之前我们将代码库文件提交到git上面,然后给我们此次提交的代码加一个tag。然后我们项目中 .podSpec 里面则需要在s.version 这里改为和我们git上加的tag一样即可。做好之后执行下面命令:
#这里 ANTestPodSpec 是我们在git上创建的Spec Repo仓库名称。 ANAppReviewPodDemo.podspec是我们git代码仓库里面刚创建的ruby文件。如果项目中有依赖,那么在发布的时候要加上source参数
$ pod repo push ANTestPodSpec ANAppReviewPodDemo.podspec --use-libraries --verbose --allow-warnings
发布成功之后我们只需要在终端中执行下面的命令查询到即可:
$pod search ANAppReviewPodDemo
这里我们也可以在终端中执行
$cd ~/.cocoapods/repos/
$open .
然后可以看到我们在git上创建的存放Spec Repo的库。里面有我们发布成功的版本