Cocoapods创建私有Spec

字数 639阅读 664

创建一个私有的podspec主要包括如下几步:

1.远程私有Spec Repo的创建

2.创建pod私有库所需要的项目工程文件,并上传到私有库

3.创建pod所对应的podspec文件,并进行验证/测试

4.向私有的Spec Repo中提交podspec

5.使用pod库

6.更新维护podspec

创建私有Spec Repo:

1.先在https://coding.net中创建 ZXFMPrivateLib 项目

2.在终端中执行命令 pod repo add ZXFMPrivateLib https://git.coding.net/sajiner/ZXFMPrivateLib.git

此时在~/.cocoapods/repos目录下就可以看到ZXFMPrivateLib这个目录了

创建pod项目工程文件

1.在终端中执行命令:pod lib create ZXDownloaderLib(此处为工程名)

会出现如下问题:

What language do you want to use?? [ Swift / ObjC ]

Would you like to include a demo application with your library? [ Yes / No ]

Which testing frameworks will you use? [ Specta / Kiwi / None ]

Would you like to do view based testing? [ Yes / No ]

What is your class prefix?

2.添加远程仓库,执行命令:

git add .

git commit -m "first commit"

git remote add origin master https://coding.net/u/sajiner/p/ZXDownloaderLib/git(远端仓库)

git push origin master

3.打标签,执行命令:

git tag '0.1.0'(标签版本,一般与.podspec文件中的version版本一致)

验证本地标签:pod lib lint (当出现ZXDownloaderLib passed validation.时验证通过)

推送tag到远端仓库:git push --tags

创建podspec文件:

通过pod lib create ZXDownloaderLib命令创建的项目中已经存在了.podspec文件,直接对此文件进行编辑即可

向Spec Repo提交podspec

定位到.podspec文件,执行命令:pod repo push ZXFMPrivateLib(本地Repo名字) ZXDownloaderLib.podspec

使用制作好的pod库

在podfile文件中添加:

source 'https://git.coding.net/sajiner/ZXFMPrivateLib.git'(私有库地址)

pod 'ZXDownloaderLib', '~> 0.1.0',执行: pod update即可

更新维护podspec

1.添加更多的模块到ZXDownloaderLib中,此时需要编辑之前的ZXDownloaderLib.podspec

s.subspec 'NetWorkEngine' do |networkEngine|

          networkEngine.source_files='Pod/Classes/NetworkEngine/**/*'

          networkEngine.public_header_files='Pod/Classes/NetworkEngine/**/*.h'

          networkEngine.dependency'AFNetworking','~> 2.3'

end

s.subspec 'DataModel' do |dataModel|

          dataModel.source_files='Pod/Classes/DataModel/**/*'

          dataModel.public_header_files='Pod/Classes/DataModel/**/*.h'

end

编辑完后,在测试项目中执行 pod update,至代码验证无误,将此工程push到远程仓库,并打标签,标签验证无误后,执行:pod repo push ZXFMPrivateLib ZXDownloaderLib.podspec

2.删除私有Spec Repo,执行命令:pod repo remove ZXFMPrivateLib

3.删除本地标签:git tag -d '0.1.0'

4.删除远程仓库标签: git push origin :0.1.0

推荐阅读更多精彩内容