創(chuàng)建配置倉庫 SPSpecs。所有的配置按照包名、版本號(hào)分門別類的存放在這個(gè)倉庫,這個(gè)倉庫只用來存放spec文件,不存放代碼。復(fù)制倉庫代碼執(zhí)行命令:
pod repo add SPSpecs http://code.starlinke.cn/gaowenli/spspecs.git

image.png
查看是否添加成功
pod repo list

image.png
- 創(chuàng)建代碼倉庫
SPLib??寺}庫到本地,cd 到倉庫文件夾,執(zhí)行pod spec create SPLib創(chuàng)建SPLib.podspec文件。
pod spec create SPLib
SPLib.podspec 文件內(nèi)容
Pod::Spec.new do |spec|
spec.name = "SPLib"
spec.version = "0.0.1"
spec.summary = "A short description of SPLib."
spec.homepage = "http://code.starlinke.cn/gaowenli/splib"
#spec.homepage = "../"
spec.license = "MIT"
spec.author = { "高文立" => "gaookey@gmail.com" }
spec.platform = :ios, "10.0"
spec.source = { :git => "http://code.starlinke.cn/gaowenli/splib.git", :tag => "#{spec.version}" }
spec.source_files = "Classes", "Classes/**/*"
spec.resources = "Resources/*.png"
spec.swift_version = "5.0"
spec.dependency "SnapKit"
end
如果私有庫組件庫過多,需要分層文件夾顯示則需要使用 subspec :
#spec.source_files = "Classes", "Classes/**/*"
#spec.resources = "Resources/*.png"
spec.subspec 'GOImagesCarouselView' do |s|
s.source_files = "Classes/GOImagesCarouselView/**/*"
s.resources = "Resources/GOImagesCarouselView/*.png"
end
上傳項(xiàng)目到 git 倉庫,創(chuàng)建 Release 版本,版本號(hào)需要與 SPLib.podspec 文件中的版本號(hào)保持一致。

image.png
驗(yàn)證 podspec
pod spec lint --allow-warnings

image.png
提交podspec文件到索引庫
pod repo push SPSpecs SPLib.podspec --allow-warnings
添加成功如下圖所示

image.png
添加成功后,索引庫 SPSpecs 中會(huì)自動(dòng)出現(xiàn) SPLib,SPLib 中只包含 SPLib.podspec 文件。

image.png

image.png
成功后即可搜索 SPLib 庫
pod search SPLib

image.png
對(duì)已有庫進(jìn)行更新,需要?jiǎng)?chuàng)建 Release 版本,更改 SPLib.podspec 文件版本號(hào),重新執(zhí)行 pod repo push SPSpecs SPLib.podspec --allow-warnings 即可。
demo 測試 SPLib 庫
新建 demo 工程,使用pod安裝 SPLib 庫
source 'https://github.com/CocoaPods/Specs.git'
source 'http://code.starlinke.cn/gaowenli/spspecs.git'
target 'demo' do
use_frameworks!
pod 'SPLib'
end
pod 成功后,導(dǎo)入 SPLib 后即可使用

image.png