建立私有 Pods 庫

2021-08-04 07:21:44 字數 3386 閱讀 7059

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 ...