一、检查下cocoapods本地目录

iOS组件化: Cocoapods创建私有库 1:首先检查下cocoapods本地目录: 运用finder,前往文件夹,`~/.cocoapods/repos/`

iOS组件化: Cocoapods创建私有库
目前我的目录里边有两个本地库:

  • 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, 创立私有索引库

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库

然后直接点击Create repository创立

iOS组件化: Cocoapods创建私有库

2. 将长途索引库相关到本地cocopods的repos文件夹下

  • cd ~/.cocoapods/repos
  • pod repo add HBGSpecs https://github.com/github用户名/HBGSpecs.git

2:操作完之后,此刻前往文件夹,~/.cocoapods/repos/,发现现已多了个文件夹

iOS组件化: Cocoapods创建私有库

3. 创立组件化根底库办理文件夹

3:cd到指定的目录,这个ComponentPrivatePods是自己创立的一个文件目录, 里边放置各个组件化根底库,本人挑选文稿中目录下创立

  • cd /Users/用户名/Documents/ComponentPrivatePods
  • pod lib create AAKit

iOS组件化: Cocoapods创建私有库

创立完之后会Xcode会主动翻开

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库
4:创立对应组件类文件,并拖入组件库

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库

5:cd 到Example目录,Podfile文件, 可以看到本地引用路径pod ‘AAKit’, :path => ‘../’

iOS组件化: Cocoapods创建私有库

翻开Example工程,pod下面没有文件

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库

在终端pod install之后pod文件夹下面有文件了

iOS组件化: Cocoapods创建私有库
然后引入头文件,调用成功

iOS组件化: Cocoapods创建私有库

三、 github创立对应的长途组件库AAKit

1:创立组件库

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库
2:装备本地AAKit组件库的podspec文件

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库

3:将本地组件库ZYKit提交到长途github的AAKit中

iOS组件化: Cocoapods创建私有库
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

iOS组件化: Cocoapods创建私有库

报错了,看下本地文件,抵触了

iOS组件化: Cocoapods创建私有库
由于咱们在github上面创立了README文件,删去本地文件或者处理下文件里边的抵触

  • git add .
  • git commit -m "处理抵触"
  • git rebase --continue
    iOS组件化: Cocoapods创建私有库
  • 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 索引文件

iOS组件化: Cocoapods创建私有库

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

第二次或许有如下过错

iOS组件化: Cocoapods创建私有库

处理方法:再履行

  • pod repo push HBGSpecs AAKit.podspec --verbose --allow-warnings --use-libraries

更新组件库版别的时分或许还会报如下过错

iOS组件化: Cocoapods创建私有库

处理办法1:

cd ~/.cocoapods/repos/HBGSpecs,git clean -f

处理办法2: 移除~/.cocoapods/repos/目录下的Myspec,履行添加指令,再从头履行提交

pod repo add HBGSpecs https://github.com/xxx/HBGSpecs.git

我目前验证过的是第一种处理方法

成功了

iOS组件化: Cocoapods创建私有库

此刻前往文件夹,~/.cocoapods/repos/,发现HBGSpecs文件夹里边现已有东西了

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库

五、到此咱们的上传私有组件库现已完成了,下面咱们在桌面新建一个项目来验证下

1:cd到文件夹下面

iOS组件化: Cocoapods创建私有库

2:- pod init 创立Podfile,然后用vscode修改文件

iOS组件化: Cocoapods创建私有库

3:保存文件之后

  • pod install

4:用xcode翻开工程

iOS组件化: Cocoapods创建私有库

5:导入头文件运用

iOS组件化: Cocoapods创建私有库

六、更新组件库

1:增加组件库类文件到Classes目录,然后cd到/Users/xxx/Documents/ComponentPrivatePods/AAKit/Example

iOS组件化: Cocoapods创建私有库
iOS组件化: Cocoapods创建私有库

2:pod install 翻开工程

iOS组件化: Cocoapods创建私有库

iOS组件化: Cocoapods创建私有库

3:测验调用成功

iOS组件化: Cocoapods创建私有库

4:cd ../ 回到上级目录,找到AAKit.podspec,翻开修改

iOS组件化: Cocoapods创建私有库

5:提交到长途仓库

  • git add .
  • git commit -m "AAKit增加组件第二次提交"
  • git push origin main
  • git tag '0.1.1' (注:这儿的版别号必须和 AAKit.podspec 里写的版别号一致)
  • git push --tags

6:重复第四大过程

  • 验证AAKit.podspec索引文件

iOS组件化: Cocoapods创建私有库

  • 履行完 pod repo add HBGSpecs https://github.com/xxx/HBGSpecs.git成功后此刻前往文件夹,~/.cocoapods/repos/,发现HBGSpecs文件夹里边现已有东西了

iOS组件化: Cocoapods创建私有库

7:翻开之前那个测验工程

  • 删去Podfile.lock文件
  • cd /Users/xxx/Desktop/TestPrivateKit
  • pod install

再从头翻开工程

iOS组件化: Cocoapods创建私有库

导入头文件,调用成功

iOS组件化: Cocoapods创建私有库

参阅文章

  • /post/691356…
  • www.superweb999.com/article/549…
  • cloud.tencent.com/developer/a…
  • blog.51cto.com/u_8392210/3…
  • segmentfault.com/a/119000004…