项目中使用到pod库来解决包管理,这篇文章记录下pod库制作的一些步骤和注意事项。
私有库制作官方地址:https://guides.cocoapods.org/making/private-cocoapods.html
制作pod库步骤(私有仓库)
本篇文章是基于github上创建的仓库。
第一步:环境准备
我的CocoaPods安装版本是1.2.1
cocoapods安装
sudo gem install cocoapods
第二步:创建仓库(管理你制作的pod库)
你可以在任何一个git服务器上创建一个私有仓库。下面的截图是我在github上已经创建的一个仓库
SLTestSpecs
- 通过下面的命令添加仓库到本地
pod repo add
SLTestSpecs
https://github.com/lishuailibertine/SLTestSpecs.git
- 如果添加成功会在目录中看到添加的仓库(如下)。
第三步:制作一个pod库并上传到你建的仓库中(上面步骤建的仓库)
- 开始建一个仓库(作为你的pod库)
下图是我已经创建好并提交过的一个仓库
SLFirstPod
- clone 刚创建的仓库(
SLFirstPod
)到本地 - 开始编辑
podspec
文件(非常重要)
1, 管理着你的pod库源文件、模块、.a、.framework等的依赖关系。
2, 关系到pod库能否验证并成功push到我们自己的pods仓库中。
1 | Pod::Spec.new do|s| |
第四步:验证你的podspec
文件
主要是验证你的文件建立的依赖关系是否正确。
pod lib lint –allow-warnings
本地podspec文件地址
2017-6-27增加
在我们需要依赖一些自己的做的pod库的时候,因为这些仓库的地址是放在我们的私有仓库下的。默认情况下我们直接去依赖,然后去校验
podspec
文件是有问题的。
解决办法:
在校验podspec
文件的时候指定下我们的私有仓库地址-> pod lib lint –sources =地址1
,地址2
第五步:打个tag上传到我们的pod库
git add .
git commit -m “描述信息”
git tag 版本号 -m “描述信息”
git push –tags
第六步:push我们刚才做的pod库到我们pods仓库中
pod repo push
pods仓名字
–allow-warnings本地的podspec文件路径
到此我们的pod库制作完成。
我们可以在远程自己的私有仓库中可以看到这条记录版本等信息。
- 本地
pod search
一下看是否有这个仓库
到此我们的pod库创建完毕并且上传到了我们的私有仓库中了。
其他内容
常用命令详情说明:
参考:https://guides.cocoapods.org/terminal/commands.html
touch Podfile :生成pofile文件
pod install:根据podfile文件安装pod库
pod update:更新库(可以指定某个具体的pod库)
pod spec create:生一个podspec文件
pod spec create xx 地址 (已有库)
pod spec lint:远程校验podspec文件
pod repo add:增加私有仓库到本地
pod repo update:更新本地仓库
pod repo lint:验证仓库下所有的podspec文件
pod repo list:列出本地仓库下所有的pod库
pod lib create:创建一个模版工程
pod ipc spec:把podspec文件格式转为podspec.json
一些小技巧:
1.加快pod install/update 速度
pod install –no-repo-update
pod update –no-repo-update
注意事项
1.–use-libraries
当你遇到下面的错误:include of non-modular header inside framework module 发布的时候带上
--use-libraries