1. 在平台上新建仓库

  2. cd到指定位置
    pod lib create XX-CocoaPods-Specs

  3. 回答问题

//选择平台
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

  1. 修改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

  1. 本地校验pod lib lint
  • cd 到XX-CocoaPods-Specs -> XX-CocoaPods-Specs.podspec 所在目录
  • 执行 pod lib lint --allow-warnings
  • 出现XX-CocoaPods-Specs passed validation.表示成功
  1. 关联远程库
    git remote add origin "http://********/XX-CocoaPods-Specs"

  2. 提交代码并为项目打上tag
    git add .
    git commit -m "project init"
    git tag -m "first dev v0.1.0" 0.1.0
    git push
    git push --tags

  3. 联网校验
    pod spec lint

  4. 新建本地索引库,并关联到远程库
    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