cocoapods 作為 ios 開發中最常用的框架管理工具,主要用於一些開源庫在專案中的引用。也可用於私有專案的子模組的管理。因此,pods庫可以分為 公有 和 私有 兩種形式。
公有,即 .spodspec 檔案傳到 cocoapods 的倉庫(specs)中,所有人都能引用的,常見的公有 pods 庫有 afnetworking、sdwebimage等。建立共有 pod 庫需要註冊 cocoapods 賬戶。
而私有,是某個公司或個人私有的,可以是搭建在內網的 git 倉庫或者可建立私有倉庫的平台上(如 github、coding等),還可以本機建立。
建立遠端私有版本庫(如 ysprivaterepo),將其新增到本地 repo。
建立遠端私有**庫,將倉庫轉殖到本地(給需要的人訪問倉庫的許可權)。
本地**庫新增檔案,同公有庫三要素,共享資料夾、描述檔案、license檔案。
驗證 .podspec 檔案通過,打 tag,push 到遠端。
將 .podspec 檔案傳到 2 中建立的本地版本庫。
查詢、使用私有庫。
更新維護。
// pod repo add 本地版本庫名 遠端版本庫url
pod repo add ysprivaterepo
.net/timeryj/ysprivaterepo.git
完成之後,進入磁碟目錄~/.cocoapods/repos
可以看到增加了乙個ysprivaterepo
目錄。
注意:建立倉庫時要選擇 license 檔案,型別一般為 mit。建立 .podspec 檔案模板:注意:區分**庫和版本庫。
pod spec create yscocoapodsprivatespec
修改完後的內容:( 附:podspec檔案各屬性與值含義 )
pod::spec.new do |s|
s.name = "yscocoapodsprivatespec"
s.version = "1.0.0"
s.summary = "私有 pod spec 庫測試"
s.description = "製作乙個私有的 pod spec 庫,用於測試模組化專案"
s.homepage = ""
s.license =
s.author =
s.platform = :ios, "8.0"
s.source = " }
s.source_files = "classes/**/*."
s.public_header_files = "classes/**/*.h"
# s.framework = "someframework"
# s.frameworks = "someframework", "anotherframework"
end
注意:有的**託管平台(如 oschina)建立的私有庫使用s.license = "mit"
可能找不到 license 正式,可以改為上述寫法指明檔案。
//
podlib
lint
(yscocoapodsprivatespec
.podspec)(--
private)(--
allow
-warnings)
podlib
lint
驗證通過後如下圖:
打 tag,push 到**庫。
注意:tag 標籤 與 .podspec 的 version 要保持一致)不打 tag 或者 tag 標籤與 version 不一致會報錯,如下:
// pod repo push 本地版本庫名 .podspec檔名
pod repo push ysprivaterepo yscocoapodsprivatespec.podspec
若出現錯誤,可以更新本地版本庫重試:
// 如:[!] the repo `myrepo` at `../.cocoapods/repos/ysprivaterepo` is not clean
pod repo update ysprivaterepo
成功後如下圖:
成功查詢就可以匯入到專案中使用了,要注意的是,含私有 pods 時,podfile 檔案開頭要給出私有庫的版本庫位址。而同時包含公有和私有庫時,還需要加上公有庫的版本庫位址。
// podfile 內容
source '.net/timeryj/ysprivaterepo.git'
#私有版本庫
source ''
#公有版本庫
platform:ios,'8.0'
target "yscocoapodstest"
do# 公有庫
pod 'yscocoapodspublicspec'
pod 'afnetworking'
# 私有庫
pod 'yscocoapodsprivatespec'
end
重複 3、4、5
刪除本地版本庫、遠端倉庫。
// 刪除本地版本庫
pod repo remove ysprivaterepo
cocoapods 私有庫製作
cocoapods系列教程(三)——私有庫管理和模組化管理
建立私有倉庫中踩過的坑
Cocoapods 建立私有庫
比如我有乙個框架a,該工程已經在git版本管理下了,先要在該工程下建立podspec 檔案,裡面包含著一些資訊。比如使用該框架時依賴哪些框架,開源協議,需要哪些檔案,以及該工程的對應tag標籤。然後上傳podspec到私有specrepo。spec repo裡面可以管理很多podspec,其實coc...
react native 建立私有庫
一 新建私有庫 參考這個工具庫,新建要開發的庫react native module 安裝這個庫 npm install g react native cli yarn npminstall g create react native module 新建你要建立的庫,這個工具可以自動建立exampl...
CocoaPods 私有庫建立
總結流程和pod 指令,以及自己操作遇到的問題。參考文章 ios元件化 基礎 ios元件化 專案元件化 swift objective c 使用cocoapods建立 管理私有庫 初中級用法 swift objective c 使用cocoapods建立 管理私有庫 高階用法 建立自己的私有庫 4 ...