首页 > 技术文章 > Cocoapods 私有库

gumengli 2018-02-28 09:26 原文

       Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,

       以及将自己的项目中的公共组件。(cocoapods的安装请自行百度)

      

 

1.创建自己的私有spec仓库

spec仓库就是一个托管你组件的spec的容器,可以去官方的spec仓库看下目录结构。

但是当你使用了Cocoapods后它会被clone到本地的~/.cocoapods/repos目录下,
可以进入到这个目录看到master文件夹就是这个官方的Spec Repo了。

1.1 创建一个spec仓库的git源

可以去自己的GitHub或者公司的Gitlab创建一个工程,这个和普通新建工程没有区别。      

1.2  把私有spec仓库添加到本地镜像

在终端中输入下面的命令:

 pod repo add [本地spec仓库镜像名字] [spec仓库git地址]         

 注:[本地spec仓库镜像名字]建议取一个比较简单容易记住的名字 因为后面你提交自己组件spec的时候会经常用到。

此时如果成功的话进入到~/.cocoapods/repos目录下就可以看到新添加的仓库了。至此第一步创建私有spec仓库完成。

2.创建一个私有库

这里开始就是创建一个自己的组件了,也可以去官方文档Using Pod Lib Create查看。 

2.1 创建一个pod项目工程

 在终端中输入下面的命令:

pod lib create [组件名字]

 然后会出现4个问题 按照你的项目需求依次回答就可以了

 

 

下面是官方给出的项目目录结构,我们开发的话就是Pod/classes下新建文件或者是在Pod/Assets添加资源文件 这些都可以作为外部使用

 

2.2 创建pod项目工程的git源 并推送到git

 这个就是上传到git,这个就不多讲了,主要要注意的是,这里你需要在Git上设置一个版本号必须和你的podspec文件里的版本号一致不然待会的验证会通不过         

2.3 验证你的podspec文件 并推送到你的spec仓库

        这一步就是把你的工程spec文件托管到spec仓库,其他就可以通过这个spec来找到你这个工程

2.3.1 验证你的podspec文件

在终端输入下面命令:

pod lib lint

 

这样的时候就代表本地验证成功。不过这个命令是本地验证 你还需要执行下面这个验证成功才能上传到spec仓库

在终端输入下面命令:

pod spec lint

 

这样的时候就代表远程验证成功。然后你就可以把podspec 推送到spec仓库了

2.3.2 推送你的podspec文件到spec仓库

在终端输入下面命令:

pod repo push [spec仓库名字] MyLib.podspec

 

这样就代表你的组件已经到了我们的私有spec仓库了

 

 

 

 

 

命令参数

 1.忽略一些警告

--use-libraries --allow-warnings

 2.spec验证的时候可以指定spec仓库源

--sources='[私有spec仓库地址],https://github.com/CocoaPods/Specs.git'

可能会碰到的问题

1.Development Pods中的文件import不了你依赖的库的文件

在你的podfile里不要使用use_frameworks! 然后再pod update一下 这样你dev pod路径的文件 就可以import你的依赖库了

2.Example工程import不了文件

在target- BuildSettings - search Paths -User Header Search Paths.

添加:$(PODS_ROOT)          选择:recursive

 

 

推荐阅读