一、创建私有Spec Repo 管理者 (~/.cocoapods/repos)
1、创建远端仓库,用来存放发布的私有库
2、~/.cocoapods/repos 看看本地是不是已经存在远端仓库,如果不存在,那么把它克隆到本地。
pod repo add wlbRepo ssh://git@.../rep.git
二、私有库的创建
1、pod lib create PeacockKit 创建本地项目。
2、修改podspec 文件。
3、将开发好的文件放入Pod/Classes,并将replaceMe.m替换掉。
4、cd 到 example 文件夹下,pod update,(每次修改pod/classes中的代码或者改动文件,或者更新了podspec 都要走这步。)
5、完成后,将代码提交到远端该项目的仓库。
6、通过下面两行代码,为即将发布的私用打版本号,要和podspec中的版本号一致。
git tag -m “first release” 0.1.0
git push --tags #推送tag到远端仓库
7、本地验证
pod lib lint --no-clean --allow-warnings --verbose
如果有依赖,记得在后面加上–sources=
pod lib lint --sources=’’ --no-clean --allow-warnings --verbose
8、远端验证
pod spec lint ***.podspec --allow-warnings --verbose --use-libraries
9、发布版本
pod repo push (第一步的repo) ***.podspec --allow-warnings --use-libraries --verbose
如果有依赖,记得在后面加上–sources=
遇到的坑
1、xcrun: error: active developer path
解决办法:https://www.jianshu.com/p/01c00528b785
2、xcrun unable to find simctl
解决办法:https://juejin.im/post/5b2fa42551882574c2653d03
3、提示找不到版本(忘了git tag了)
4、提示代码中import 错误
解决办法:#import <Masonry/Masonry.h>,绝对路径
5、依赖库找不到
解决办法:如果依赖第三方私有库,则需要在example中的podfile中添加。同时,在验证时,加上。
6、本地pod lib lint 成功,pod spec lint 失败,提示unsuccessful code。
解决办法:查了半天,没找到。。远端仓库删除,重新来一遍,pass。分析:可能是pod update 后没有推到远端。