概要
通过以下步骤来创建CocoaPods创建私有库。
一、创建两个Repo:Specs和TomLib
在github上新建两个Repo:Specs和TomLib
*Specs是一个git仓库,用来管理Pods的podspec配置文件。
*TomLib是一个git仓库,用来保存Lib资源。
二、用Pod命令创建TomLib项目
$pod lib create TomLib
上述命令执行后,回答下面问题:
What platform do you want to use?? [ iOS / macOS ]
>iOS
What language do you want to use?? [ Swift / ObjC ]
>ObjC
Would you like to include a demo application with your library? [ Yes / No ]
>Yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
>None
Would you like to do view based testing? [ Yes / No ]
>Yes
What is your class prefix?
>TOM
至此项目创建完成,XCode自动打开该项目。
三、开发TomLib功能
*代码文件放在TomLib/TomLib/Classes目录下
*资源文件放在TomLib/TomLib/Assets目录下
Podfile文件有以下三个阶段配置(默认、podspec校验 和 发布到Specs后)
pod 'TomLib', :path =>'../' # 默认 本地路径:引用文件在Development Pods下
#pod 'TomLib', :podspec => '../TomLib.podspec' # 指定podspec校验
#pod 'TomLib', '~> 0.1.0' # 发布以后
四、关联TomLib项目和TomLib仓库,提交代码
用下面命令来显示隐藏文件。命令执行后,需要“强制退出”Finder重新打开。
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
修改.gitignore文件,放开“/Pods”,即:不用上传Pods目录
进入TomLib根目录,执行以下命令:提交代码到TomLib仓库并打上tag
$ git add .
$ git commit -m "初始化TomLib"
$ git remote add origin https://github.com/ljt23/TomLib.git
$ git push origin master
$ git tag -m "release note 0.1.0" "0.1.0"
$ git push --tags
五、配置并校验TomLib.podspec文件
**配置TomLib.podspec
s.summary:不编辑的话,校验会后警告
s.homepage:TomLib仓库网页url
s.source:TomLib仓库git地址
**校验TomLib.podspec文件:
$ pod lib lint
校验通过
TomLib passed validation.
六、本地测试TomLib.podspec
修改Podfile如下,执行pod update命令
# pod 'TomLib', :path => '../' # 指定路径
pod'TomLib', :podspec => '../TomLib.podspec' # 指定podspec文件,本地校验
# pod 'TomLib', '~> 0.1.0' # 发布以后
执行完成,Pods/TomLib就出现了。
七、本地Pod Repo添加Specs仓库,并在Specs仓库中添加TomLib.podspec
执行下面命令,在本地~/.cocoapods/repos/目录下添加Specs
$ pod repo add Specs https://github.com/ljt23/Specs.git
Specs仓库中添加TomLib.podspec
$ pod repo push Specs TomLib.podspec
上述完成后,Specs仓库中就有了版本管理文件TomLib.podspec
同时,本地可以用pod search TomLib搜索到TomLib。
八、发布校验和提交TomLib修改
修改Podfile如下,执行pod update命令(target前添加下面两行source)
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/ljt23/Specs.git'
# pod 'TomLib', :path => '../' # 指定路径
# pod 'TomLib', :podspec => '../TomLib.podspec' # 指定podspec文件,本地校验
pod'TomLib', '~> 0.1.0' # 发布以后
完成后提交TomLib修改。
以上。
参考:
https://www.jianshu.com/p/107cc74847ab