一、Github 组件库的创建
1、创建索引库,xxxSpecs用于集中存放所有库的索引,勾选Add a README file这样就创建了一个初始化好了的库,如图:
![3.png](https://upload-images.jianshu.io/upload_images/9493688-c6036e841cd9da41.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2、创建组件库,xxxComponts用于存放组件,不要勾选Add a README file 也不要添加 Add .gitignore, 需要的是一个未初始化的仓库。如图:
![WeChat8671549d8cf96b46964e42eb0e62af59.png](https://upload-images.jianshu.io/upload_images/9493688-08bcbe2769bbfb2c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3、在本地新建一个目录Modules(任意的目录),并在终端cd到该目录下
4、执行pod lib create xxxComponts,这样就自动生成了一个项目,生成项目的目录结构,如图:
5、打开Example/xxxComponts.xcworkspace项目,一般会自动打开,将xxxComponts.podspec中的s.homepage和s.source替换成我们第2步创建的组件库地址,s.homepage记得去掉.git,如图
二、 组件提交
1、验证 podspec 是否无误
pod lib lint --allow-warnings
如果出现:BOTestTools passed validation. 那么说明本地校验通过。
2、cd到组件所在目录xxxComponts(cd 到有xxxComponents.podspec文件的这一层)
find . -name ".git" | xargs rm -Rf
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/ywdonga/xxxComponts.git
git push -u origin main
3、打上tag版本号0.1.0和xxxComponts.podspec文件中的s.version一定要保持一致
git tag 0.1.0
git push origin 0.1.0
4、创建本地Spec Repo,索引地址就是第1步创建的索引仓库地址,执行命令:
pod repo add xxxSpecs https://github.com/ywdonga/xxxSpecs.git
5、校验索引文件.podspecs
pod lib lint xxxComponts.podspec --allow-warnings
6、推送索引文件,还是在XDUIExtension目录,执行命令:
pod repo push xxxSpecs xxxComponts.podspec --allow-warnings
7、这样在远程索引仓库就能看到我们刚推上去的组件索引了
8、使用的时候:
platform :ios, '13.0'
target 'test' do
use_frameworks!
pod 'xxxComponents', :git => "https://github.com/sss/xxxComponents.git", :tag => '0.1.2'
target 'testTests' do
inherit! :search_paths
end
target 'testUITests' do
end
end