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