-
在平台上新建仓库
-
cd到指定位置
pod lib create XX-CocoaPods-Specs
-
回答问题
//选择平台
What platform do you want to use?? [ iOS / macOS ]
ios
//选择语言
What language do you want to use?? [ Swift / ObjC ]
swift
//是否需要Demo
Would you like to include a demo application with your library? [ Yes / No ]
yes
//是否使用测试工具
Which testing frameworks will you use? [ Quick / None ]
None
//是否进行视图测试
Would you like to do view based testing? [ Yes / No ]
No
- 修改podspec文件
Pod::Spec.new do |s|
// 库名称,默认和工程名相同,建议不改
s.name = 'XX-CocoaPods-Specs'
// 库的版本,每次升级版本后必须要在这里修改版本号
s.version = '0.1.0'
// 该库的简介,更改成适合的简介,使用默认简介会出现简介没有意义的错误 ⭐️⭐️⭐️⭐️
s.summary = '索引文件'
// 详细描述,一般不用改,有readme呢
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC
// 库的主页,需要更改为正确的主页。去创建的远端库那里拷贝 ⭐️⭐️⭐️⭐️
s.homepage = 'http://********/XX-CocoaPods-Specs'
// 许可,私有库可以不改
s.license = { :type => 'MIT', :file => 'LICENSE' }
// 作者,可以不改
s.author = { 'name' => 'email' }
// 库的克隆地址,这个地址必须改成正确的克隆地址,可以是 https 或 ssh ⭐️⭐️⭐️⭐️
s.source = { :git => 'http://********/XX-CocoaPods-Specs.git', :tag => s.version.to_s }
// 该库最低支持版本,可以修改为对应版本。如果这个地方改了,Podfile、Pods.xcodeproj文件里的版本号也要改。可以通过全局搜索原来的版本号进行修改⭐️⭐️⭐️⭐️
s.ios.deployment_target = '14.0'
// 该库上传文件的路径,默认是 Classes 文件夹下的所有文件夹及文件,默认不需要改
s.source_files = 'XX-CocoaPods-Specs/Classes/**/*'
//--------------------------------------------------
// 以下是默认没有但可以自行添加的基础配置
// 设置指定版本号或非指定版本号的依赖库,
//s.dependency 'SnapKit'
// 指定 Swift 语言版本,Swift 项目必须设置这个⭐️⭐️⭐️⭐️
// s.swift_version = '5.0'
end
- 本地校验pod lib lint
- cd 到XX-CocoaPods-Specs -> XX-CocoaPods-Specs.podspec 所在目录
- 执行
pod lib lint --allow-warnings
- 出现XX-CocoaPods-Specs passed validation.表示成功
-
关联远程库
git remote add origin "http://********/XX-CocoaPods-Specs"
-
提交代码并为项目打上tag
git add .
git commit -m "project init"
git tag -m "first dev v0.1.0" 0.1.0
git push
git push --tags
-
联网校验
pod spec lint
-
新建本地索引库,并关联到远程库
pod repo add XX-CocoaPods-Specs http://********/XX-CocoaPods-Specs.git
可执行pod repo
检查新库是否添加成功
使用
-
将子组件XXTest.podspec添加并推送到XX-CocoaPods-Specs主仓库
-
先cd到XXTest.podspec所在的目录,然后执行:
pod repo push XX-CocoaPods-Specs XXTest.podspec --allow-warnings
-
// 不需要校验时可以使用这个
pod repo push XX-CocoaPods-Specs XXTest.podspec --verbose --allow-warnings --use-libraries --skip-import-validation
-
现在已经成功的将本地私有库推送到了远程索引库中。
参考:
https://www.jianshu.com/p/839b850dad2a
https://www.jianshu.com/p/7a727ec193bc