需要理解的一点是,创建私有库是需要两个Git库的(或者理解成两个项目)一个用来存储repo,另外一个是项目Git库(也可以是多个),然后把项目的podspec
放到repo
下面
我遇到了一个问题,如果在代码里面建立文件夹的话,pod lib lint
的时候提示我找不到头文件,希望知道的大神告知一下。
总结几步
1、 创建私有的库
# pod repo add [Private Repo Name] [GitHub HTTPS clone URL]
2、创建pod工程
$pod lib create 项目名
3、创建代码,放到Classes中,测试代码可用性
pod update
4、提交代码到代码仓库中
$ git add .
$ git commit -s -m "初始化MyLib 库"
$ git remote add origin git@git.coding.net:kensla/MyLib.git #添加远端仓库
$ git push origin master #提交到远端仓库
$ git tag -m "first release" "0.1.0" #打上标签,这个很重要
$ git push --tags #推送tag到远端仓库
5、编辑podspec文件
6、验证
$ pod lib lint
7、提交到私有库中
# pod repo push [Repo名] [podspec 文件名字]
8、使用私有库
#私有Spec Repo
https://git.coding.net/flowtctd/TYBasicModule.git
pod ' TYBasicModule', '~> 0.1.1'
一、提示403错误
在cocospod的文件之中homepage
只能用http或者HTTPS的git地址。在执行pod install
的时候git
提示如下错误。
只需要修改
s.homepage='https://你的Git用户名@git.coding.net/flowtctd/testLoginModule.git'
不要忘记s.source
一起修改。
二、提示 [!] The repo cxpodlogin
at ../../../.cocoapods/repos/cxpodlogin
is not clean 错误
cd 私有库 git clean -f
三、修改 repo 或 podspec
最后介绍一下如何删除一个私有Spec Repo,只需要执行一条命令即可
$ pod repo remove WTSpecs
这样这个Spec Repo就在本地删除了,我们还可以通过
$ pod repo add WTSpecs git@coding.net:wtlucky/WTSpecs.git
再把它给加回来。
如果我们要删除私有Spec Repo下的某一个podspec怎么操作呢,此时无需借助Cocoapods,只需要cd到~/.cocoapods/repos/WTSpecs目录下,删掉库目录
wtlucky@wtluckydeMacBook-Pro:~/.cocoapods/repos/WTSpecs$ rm -Rf PodTestLibrary
然后在将Git的变动push到远端仓库即可
wtlucky@wtluckydeMacBook-Pro:~/.cocoapods/repos/WTSpecs$ git add --all .
wtlucky@wtluckydeMacBook-Pro:~/.cocoapods/repos/WTSpecs$ git ci -m "remove unuseful pods"
wtlucky@wtluckydeMacBook-Pro:~/.cocoapods/repos/WTSpecs$ git push origin master
在pod push过程中出现依赖的库找不到的情况 Unable to find a specification for xxxxx
Pod。
$ pod repo remove master
$ pod setup
再重新pod push就好了
我参照的cocospod组件博客是:
https://blog.csdn.net/zy_flyway/article/details/53394768
https://www.jianshu.com/p/107cc74847ab