建立CocoaPods私有源(2)

podspec文件

建立CocoaPods私有源的關(guān)鍵是編寫.podspec文件,此文件是CocoaPods所使用的一種特殊,例子可以參考以下源碼。

Pod::Spec.new do |s|
  s.name     = 'AFNetworking'
  s.version  = '3.2.1'
  s.license  = 'MIT'
  s.summary  = 'A delightful iOS and OS X networking framework.'
  s.homepage = 'https://github.com/AFNetworking/AFNetworking'
  s.social_media_url = 'https://twitter.com/AFNetworking'
  s.authors  = { 'Mattt Thompson' => 'm@mattt.me' }
  s.source   = { :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => s.version, :submodules => true }
  s.requires_arc = true
  
  s.public_header_files = 'AFNetworking/AFNetworking.h'
  s.source_files = 'AFNetworking/AFNetworking.h'

# 省略

創(chuàng)建Spec Repo

在GitHub或者公司內(nèi)部的GitLab上創(chuàng)建一個Git Repo作為存放spec的Repo,然后在本地執(zhí)行以下命令。
pod repo add [Spec Repo Name] [Spec Repo address]

pod repo add MySpecs http://git.xxx.com/MySpecs/specs.git
執(zhí)行成功的話進(jìn)入到~/.cocoapods/repos目錄下就可以看到 MySpecs這個目錄了,創(chuàng)建私有Spec Repo完成。

創(chuàng)建Pod項目工程文件

接下來就是創(chuàng)建各個第三方庫的源碼Repo,然后再與Spec Repo關(guān)聯(lián)起來就行。
可以使用pod lib create [lib repo]來創(chuàng)建一個示例的源碼倉庫。

image.png

執(zhí)行完畢后,會創(chuàng)建一個包含podspec文件的的pod項目。創(chuàng)建完畢后,可以通過以下命令校驗podspec項目是否正確
pod lib lint
也可以通過以下命令簡單簡單創(chuàng)建一個.podspec文件
pod spec create [podspec Name]

pod spec create mypodspec

建立一個遠(yuǎn)程倉庫,把這個本地Pod項目工程推送到遠(yuǎn)程倉庫,因為podspec文件中獲取Git對應(yīng)的分支是通過tag來獲取的,所以我們要打上一個tag,

git tag -m "first release for v1.1.0" 1.1.0
git push --tags     #推送tag到遠(yuǎn)端倉庫,不能省略

推送Git之前要驗證spec文件是否有效
pod lib lint --allow-warnings

向Spec Repo提交podspec

向Spec Repo提交podspec必須使用pod lib lint --allow-warnings命令驗證無誤,然后執(zhí)行以下命令
pod repo push [Spec Repo Name] [podspecName]

pod repo push MySpecs mypodspec.podspec

完成之后這個組件庫就添加到我們的私有Spec Repo中了,可以進(jìn)入到~/.cocoapods/repos/[Spec Repo Name]目錄下私有源Spec Repo遠(yuǎn)端倉庫查看,都可以發(fā)現(xiàn)此次push的podspec。

使用私有源

在Podfile中添加私有源的搜索source
source 'http://git.XXX.com/MySpecs/specs.git
然后直接導(dǎo)入便可
pod 'XXX', '2.5.0'
當(dāng)然也可以通過
pod search XXX搜索到

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容