導言1. 從最簡單的開始
pod私庫建立,可以分為三部分:
1)**庫,就是我們一般存在**的git庫,例如github,推薦用國內的。例如gitee
2)podspec,這個是建立私庫的核心部分,用命令建立後,手動修改
3)gitspec,即將第二部中的podspec存到某git庫中,這樣其它專案才能通過設定source,查詢到該庫。
gitspec和**庫,可以放置在不同**,例如乙個github,乙個gitee。在本例中,由於github實在太慢,統一使用gitee。為了加深理解,我這裡,特意讓**庫的名稱與私庫的名稱不一樣。(當然也可以一樣)。
一)建立**庫
先從簡單開始,新建乙個專案(資料夾)然後裡面只有乙個檔案,然後同步到gitee,打上tag,注意你的檔案路徑,因為,podspec中配置要用到,我的如下:
只有乙個目錄classes,下面只有乙個檔案。
git tag -m 「v0.0.1」 0.0.1特別注意這裡的版本號和檔案路徑。git push --tags
二)建立podspec
乙個簡單命令即可:
pod lib create xlib注意我這裡的建立的私庫的名稱與我上面的**庫是不一樣的,當然也可以一樣。
接下來重點就是根據實際配置podspec,進入xlib目錄下,開啟xlib.podspec 或者xcode中開啟,重點需要修改的,是s.version、 s.homepage、s.source、s.source_files, s.description 也需要改下,初始值驗證不過的,其它值根據**庫實際情況來設定:
s.source_files是最容易出錯的,上面已經提醒過,注意**的目錄結構。
然後提交到git時,先驗證檔案有效性。
pod lib lintpod lib lint是不聯網驗證的,如果提示pod spec lint
thesource_files
pattern did not match any file.
可以忽略,但是pod spec lint是會聯網驗證的,如果提示上面的錯誤,就注意要修改s.source_files了
三)儲存podspec
在gitee任意建立乙個git庫,你後續建立的私庫的podspec都可以儲存到該git,因此下次建立私庫,可以不用建這個庫,直接使用即可,例如我建立的:
通過如下命令將我們的pod上傳到git庫:
pod repo add xlibspec .git上述命令在xlib目錄下執行,xlibspec 名字任意,上下一致即可,同時需要記住,因為後面podspec修改上傳需要用到。pod repo push xlibspec xlib.podspec
然後,我們可以看到 庫下建立有xlib相關檔案。
四)使用私庫
我們開啟乙個工程,然後在其podfile中新增:
source '' # cocoapods 官方 spec 索引庫
source ".git"
platform :ios, "11.1"
pod 'xlib', '~>0.0.1'
然後在命令視窗中執行:
pod install --repo-update
2. 公升級到更複雜的**然後開始上傳到git:(該命令會自動執行pod spec lint)
pod repo push xlibspec xlib.podspec --verbose --allow-warnings --use-libraries
引數說明:
–verbose 可以列印編譯驗證過程,如果出錯,可以知道具體錯誤是啥
–use-libraries 第三庫依賴需要新增這個,否則可能編譯不通過
–allow-warnings 不在這個,一旦有warn,就會驗證失敗
成功後,可以看到:
上傳成功後,我們的專案就可以使用最新版本的xlib庫了(podfile更改版本為0.0.3):
pod install --repo-update以上,all
3. 總結
說到底建立pod私有庫,是為專案元件化做準備而已,ios實現元件化,還需借助第三方工具,目前最適合的是ctmediator。有空會結合pod私有庫,寫寫ctmediator的例項。網上有很多例子,但都感覺寫的不對,相反,ctmediator本身提供的demo倒是寫的不錯。
ctmediator 例項參考:
Cocoapods 建立私有庫
比如我有乙個框架a,該工程已經在git版本管理下了,先要在該工程下建立podspec 檔案,裡面包含著一些資訊。比如使用該框架時依賴哪些框架,開源協議,需要哪些檔案,以及該工程的對應tag標籤。然後上傳podspec到私有specrepo。spec repo裡面可以管理很多podspec,其實coc...
CocoaPods 私有庫建立
總結流程和pod 指令,以及自己操作遇到的問題。參考文章 ios元件化 基礎 ios元件化 專案元件化 swift objective c 使用cocoapods建立 管理私有庫 初中級用法 swift objective c 使用cocoapods建立 管理私有庫 高階用法 建立自己的私有庫 4 ...
CocoaPods私有庫的建立
一.建立版本庫首先,我們要建立乙個像master一樣的存放版本描述檔案的git倉庫,因為是私人git倉庫,我選擇了oschina來建立自己的石油倉庫 因為是免費的?當然你也可以選擇在github上建立 7 month 接下來,我將以oschina為例來建立自己的私有庫 建立版本描述倉庫 版本庫名字為...