建立CocoaPods私有源(2)

podspec文件

建立CocoaPods私有源的關鍵是編寫.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'

# 省略

創建Spec Repo

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

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

創建Pod項目工程文件

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

image.png

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

pod spec create mypodspec

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

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

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

向Spec Repo提交podspec

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

pod repo push MySpecs mypodspec.podspec

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

使用私有源

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。