Cocoapods搭建私有庫

2021-07-28 03:17:34 字數 3662 閱讀 9171

想要建立自己的私有庫,還需要建立另外乙個git倉庫去維護裡面所有的其他私有庫的版本,比如這個倉庫取名為specs.git

這個specs.git維護的是你所有的其他私有庫的版本號對應的podspec檔案。

目錄如下所示

在伺服器端建立私有庫

注意:建立git倉庫必須用git賬號登入建立才能有效,如果用root在某些情況下會顯示許可權錯誤。

git init --bare yourreponame.git

chown -r git:git yourreponame.git/

建立完成後回到本地終端,執行

pod repo add yourreponame git@***.***

.***

.***:/yourreponame.git

執行成功後,去~/.cocoapod/repos/目錄下會發現多了乙個資料夾

這裡的ll-specs只是我自己倉庫的名字,實際資料夾名取決於你的yourreponame。

使用命令pod lib create yourpodname來建立私有庫專案。期間需要回答幾個問題。

建立完成後有乙個example資料夾和私有庫資料夾,把專案檔案放到私有庫資料夾中的class資料夾內。

然後開啟example專案,執行pod update。這樣,私有庫專案檔案就匯入到example專案中了,可以在example專案中除錯私有庫程式。

專案的根目錄中,有乙個podspec檔案。

pod::spec.new

do |s|

# 專案名稱

s.name = 'yourpodname'

# 版本號

s.version = '0.1.0'

# 專案摘要

s.summary = 'a summary.'

# 專案描述

s.description = <

a description.

desc

# 主頁,這裡要填寫可以訪問到的位址,不然驗證不通過

# 作者資訊

s.author =

# 專案位址,這裡不建議用ssh的位址,會有警告,建議http和https,最好使用https

s.source =

# 最低支援的ios版本

s.ios.deployment_target = '8.0'

# **原始檔位址

s.source_files = 'yourpodname/classes/**/*'

# 依賴的framework

s.frameworks = 'uikit', 'mapkit'

# 依賴的公共庫或私有庫

s.dependency 'afnetworking', '~> 2.3'

end

把其中的s.source換成有效的位址就行了,cocoapod建議是https開頭的位址。

使用pod lib lint yourpodname.podspec命令進行本地驗證檔案有效性。

使用pod spec lint yourpodname.podspec命令進行本地和遠端驗證檔案有效性。

執行pod repo push yourreponame yourpodname.podspec命令把私有庫新增到私有repo中。

這個命令還會驗證一次podspec檔案的有效性,成功後可以在

~/.cocoapods/repos/yourreponame/路徑中看到私有庫已經被新增進yourreponame資料夾了。如果有警告則加上--allow-warnings

把你的管理私有庫的倉庫的git位址發個同事,讓他們執行下面語句即可。

pod repo add yourreponame git@***.***

.***

.***:/yourreponame.git

需要注意的一點是使用pod lib create yourpodname建立專案的時候會自帶.git資料夾,這個.git是只能commit到本地的(看.git/config檔案就知道了,裡面沒有remote資訊),需要使用者自己把遠端git位址設定到push命令中去。

git remote add origin git@***.***

.***

.***:/yourpodname.git

再設定push預設分支

git push --set-upstream origin master
如果在校驗podspec檔案中出現warning而驗證不通過的時候,可以在命令尾部加上--allow-warnings忽略警告,這樣驗證就可以通過了。

如果有錯,則必須處理。如:

pod

spec

lint

yourpodname

.podspec--

allow

-warnings

如果私有庫中依賴私有庫,則驗證podspec檔案的時候需要加上–sources引數,否則會出現找不到你依賴的私有庫。如:

pod spec lint yourpodname.podspec --sources='git@***.***.***.***:/yourreponame.git,'
如果你的podfile中的私有庫依賴了其他的私有庫,在執行pod update的時候報錯

unable to find a specification for `privatepod` depended upon by `privatepod`
但是你在執行pod search的時候是可以search到你的私有庫的,就是update報找不到的錯誤。

這是因為pod update預設只會searchmaster目錄下的庫,如果你想search你的specs目錄,則需要在podfile第一行新增私有庫的源即可。

source

'git@***.***.***.***:/yourreponame.git'

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為例來建立自己的私有庫 建立版本描述倉庫 版本庫名字為...