一、检查下cocoapods本地目录
1:首先检查下cocoapods本地目录: 运用finder,前往文件夹,`~/.cocoapods/repos/`目前我的目录里边有两个本地库:
- HBGSpecs2是我之前本地创立的,下面的文章中我会再从头来一遍;
- trunk是cocoapods自带的;
2:也可以用终端指令检查
-
pod repo list
检查 有多少repo -
pod repo remove
xxx 删去指定的repo
3:在目录/Users/用户名/Library/Caches/CocoaPods/Pods/External/
铲除cocoapods缓存
-
pod cache clean xxx
铲除xxx库
二、创立长途私有索引库Specs
1:登录github, 创立私有索引库
然后直接点击Create repository创立
2. 将长途索引库相关到本地cocopods的repos文件夹下
cd ~/.cocoapods/repos
pod repo add HBGSpecs https://github.com/github用户名/HBGSpecs.git
2:操作完之后,此刻前往文件夹,~/.cocoapods/repos/
,发现现已多了个文件夹
3. 创立组件化根底库办理文件夹
3:cd到指定的目录,这个ComponentPrivatePods
是自己创立的一个文件目录, 里边放置各个组件化根底库,本人挑选文稿中目录下创立
cd /Users/用户名/Documents/ComponentPrivatePods
pod lib create AAKit
创立完之后会Xcode会主动翻开
4:创立对应组件类文件,并拖入组件库
5:cd 到Example目录,Podfile文件, 可以看到本地引用路径pod ‘AAKit’, :path => ‘../’
翻开Example工程,pod下面没有文件
在终端pod install
之后pod文件夹下面有文件了
然后引入头文件,调用成功
三、 github创立对应的长途组件库AAKit
1:创立组件库
2:装备本地AAKit组件库的podspec文件
3:将本地组件库ZYKit提交到长途github的AAKit中
4:这个当地说明下,第一次push到github,输入密码会报以下过错
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see github.blog/2020-12-15-… for more information.
处理该过错可先参阅文章装备token,终端验证的时分密码输入token值就可以了, github 装备运用 personal access token 认证
5:
- git add .
- git commit -m “AAKit第一次提交” 提交之前由于,github的默许主分支由master更名为main,可是咱们本地创立的工程git骨干默许还是master,此处咱们本地先把名字更改下
git branch -a
-
git checkout -b main
创立本地分支main,并切换到main分支 -
git branch -d master
删去本地分支master,此刻本地只有一个分支main了 -
git remote add origin https://github.com/github用户名/AAKit.git
相关长途库
由于长途库里边有README文件
git pull --rebase origin main
报错了,看下本地文件,抵触了
由于咱们在github上面创立了README文件,删去本地文件或者处理下文件里边的抵触
git add .
git commit -m "处理抵触"
-
git rebase --continue
-
git push origin main
推送到长途 -
git tag '0.1.0'
(注:这儿的版别号必须和 AAKit.podspec 里写的版别号一致) git push --tags
四、验证AAKit.podspec索引文件
1:在当前目录经过 pod spec lint --verbose --allow-warnings --use-libraries
指令验证 podspec 索引文件
2:提交索引文件到长途索引库
验证经过之后, pod repo push 本地索引库 索引文件名 –verbose –allow-warnings –use-libraries 提交索引文件到长途索引库,此处可以用手机热门,用公司网络传了好几次都失败了,假如HBGSpecs长途库是空的话,没有README文件,HBGSpecs pull的时分出问题,所以一开始最好还是加上README文件
pod repo push HBGSpecs AAKit.podspec --verbose --allow-warnings --use-libraries
第一次手机衔接热门履行该指令或许会报下面过错
报错:HTTP/2 stream 1 was not closed cleanly before end of the underlying stream**
处理方法:git config –global http.version HTTP/1.1 再履行
pod repo push HBGSpecs AAKit.podspec --verbose --allow-warnings --use-libraries
第二次或许有如下过错
处理方法:再履行
pod repo push HBGSpecs AAKit.podspec --verbose --allow-warnings --use-libraries
更新组件库版别的时分或许还会报如下过错
处理办法1:
cd ~/.cocoapods/repos/HBGSpecs,git clean -f
处理办法2: 移除~/.cocoapods/repos/目录下的Myspec,履行添加指令,再从头履行提交
pod repo add HBGSpecs https://github.com/xxx/HBGSpecs.git
我目前验证过的是第一种处理方法
成功了
此刻前往文件夹,~/.cocoapods/repos/
,发现HBGSpecs文件夹里边现已有东西了
五、到此咱们的上传私有组件库现已完成了,下面咱们在桌面新建一个项目来验证下
1:cd到文件夹下面
2:- pod init
创立Podfile,然后用vscode修改文件
3:保存文件之后
pod install
4:用xcode翻开工程
5:导入头文件运用
六、更新组件库
1:增加组件库类文件到Classes目录,然后cd到/Users/xxx/Documents/ComponentPrivatePods/AAKit/Example
2:pod install
翻开工程
3:测验调用成功
4:cd ../
回到上级目录,找到AAKit.podspec,翻开修改
5:提交到长途仓库
git add .
git commit -m "AAKit增加组件第二次提交"
git push origin main
-
git tag '0.1.1'
(注:这儿的版别号必须和 AAKit.podspec 里写的版别号一致) git push --tags
6:重复第四大过程
- 验证AAKit.podspec索引文件
- 履行完
pod repo add HBGSpecs https://github.com/xxx/HBGSpecs.git
成功后此刻前往文件夹,~/.cocoapods/repos/
,发现HBGSpecs文件夹里边现已有东西了
7:翻开之前那个测验工程
- 删去Podfile.lock文件
cd /Users/xxx/Desktop/TestPrivateKit
pod install
再从头翻开工程
导入头文件,调用成功
参阅文章
- /post/691356…
- www.superweb999.com/article/549…
- cloud.tencent.com/developer/a…
- blog.51cto.com/u_8392210/3…
- segmentfault.com/a/119000004…