CocoaPods 私有庫建立

2021-10-19 15:06:07 字數 4272 閱讀 3393

總結流程和pod 指令,以及自己操作遇到的問題。

參考文章

ios元件化 - 基礎

ios元件化 - 專案元件化

swift/objective-c-使用cocoapods建立/管理私有庫(初中級用法)

swift/objective-c-使用cocoapods建立/管理私有庫(高階用法)

建立自己的私有庫

4、使用私有庫

5、總結

6、在碼雲建立私有庫

參考文章

1、建立私有spec repo

1.1 在 github 上建立乙個倉庫作為私有庫;

1.2 在本地建立私有庫

命令

pod repo add [私有倉庫名稱] [github https 鏈結位址]

例: pod repo add dydemospecs

2、建立元件庫

2.1 在本地建立元件庫

在命令列 cd 進入想要把元件庫存入的資料夾,執行下面命令:

命令

pod lib create [庫名稱]

例 pod lib create dydemotest

根據提示填入資料

what platform do you want to use?? [ ios / macos ]

> ios

what language do you want to use?? [ swift / objc ]

> objc

> yes

which testing frameworks will you use? [ specta / kiwi / none ]

> none

would you like to do view based testing? [ yes / no ]

> no

what is your class prefix?

> dy

2.2 在 git 上建立元件庫,並且把本地元件庫和遠端關聯

2.3 新增類檔案和資源檔案到庫中

庫的列表如下

dydemotest

- ...

- dydemotest

- assets

- classes

- dydemotest.podspec

- example

- ...

新建的類檔案存入 classes 資料夾中,或者自行新建資料夾,存入新建的資料夾。同時修改 dydemotest.podspec 中對應的位址。

s.source_files = 'dydemotest/classes/**/*'
例如檔案存入base資料夾

s.subspec 'base' do |sb|

# 類檔案路徑

sb.source_files = 'dydemotest/base/**/*.'

# 資源檔案路徑

sb.resource_bundles =

end

2.4 注意事項

2.4.1 要引用其他資料夾下的類,需要新增依賴

dysomeobjc.m 在 some 資料夾下

#import "dysomeobjc.h"

#import "dybarbutton.h"

// 在 base 資料夾下

podspec 中新增依賴

s.subspec 'some' do |ss|

ss.source_files = 'dydemotest/some/**/*.'

ss.dependency 'dydemotest/base'

end

2.4.2 podspec 中的 source_files

'dydemotest/some/**/*.'
其中的 /**/ 表示任意層級,只要是 dydemotest/some/ 路徑下的檔案都會包含在內,不管是 dydemotest/some/a.h 還是 dydemotest/some/a/b/c/d.h。

*. 表示所有的.h和.m檔案。

2.4.3 資源檔案引用

sb.resource_bundles =
在庫中建立乙個類來允許外界引用庫中的資源檔案

+

(uiimage *

)getimagewithname:

(nsstring *

)imgname

uiimage *image =

[uiimage imagenamed:imgname inbundle:bundle compatiblewithtraitcollection:nil];if

(image == nil)

return image;

}

參考

3、提交元件庫

3.1 驗證本地庫

確認**沒有錯誤

命令列回到庫目錄 …/dydemotest/

pod lib lint --allow-warnings
庫檔案依賴其他庫

s.dependency 'dydemotools'

驗證時加上私有庫位址

pod lib lint --allow-warnings --sources='私有庫位址,'

3.2 提交到git

提交修改內容,並打上標籤(tag),同步到遠端git倉庫,標籤(tag) 也要推送到遠端。

tag 的值要和 dydemotest.podspec 檔案中 s.version= 『0.1.0』 的值相同。version= 『0.1.0』,tag 也要為 0.1.0。

3.3 將庫檔案推送到遠端私有庫

命令

pod repo push [私有庫] [元件庫].podspec --allow-warnings

例:pod repo push dydemospecs dydemotest.podspec --allow-warnings

4、使用私有庫

4.1 在 podfile 中新增庫位址

source ''  # 官方庫

source '' # 私有庫

其他和第三方庫使用都一樣了。

5、總結

5.1 在 github 上建立私有庫

5.2 在本地建立私有庫

pod repo add [私有庫名稱] [私有庫位址]
5.3 在本地建立元件庫

pod lib create [庫名稱]
5.4 在 github 上建立元件庫,並和本地關聯

5.5 新增類檔案和資源檔案

5.6 配置 podspec

5.7 儲存修改內容同步到遠端 github 上,並打標籤(tag)

5.8 本地驗證

在庫根目錄下執行

pod lib lint --allow-warnings

依賴私有庫或公有庫檔案,不寫sources預設公有庫

pod lib lint --allow-warnings --sources='私有庫位址,公有庫位址'

5.9 將元件庫推送到私有庫中

pod repo push [私有庫] [元件庫].podspec --allow-warnings
5.10 使用元件庫

podfile

source ''  # 官方庫

source '' # 私有庫

...pod [私有元件庫]

...

6、在碼雲建立私有庫

私有庫位址

建立元件庫後修改檔案podspec內的位址,修改這兩處

s.homepage         = ''

s.source =

參考文章

ios元件化 - 基礎

ios元件化 - 專案元件化

swift/objective-c-使用cocoapods建立/管理私有庫(初中級用法)

swift/objective-c-使用cocoapods建立/管理私有庫(高階用法)

Cocoapods 建立私有庫

比如我有乙個框架a,該工程已經在git版本管理下了,先要在該工程下建立podspec 檔案,裡面包含著一些資訊。比如使用該框架時依賴哪些框架,開源協議,需要哪些檔案,以及該工程的對應tag標籤。然後上傳podspec到私有specrepo。spec repo裡面可以管理很多podspec,其實coc...

CocoaPods私有庫的建立

一.建立版本庫首先,我們要建立乙個像master一樣的存放版本描述檔案的git倉庫,因為是私人git倉庫,我選擇了oschina來建立自己的石油倉庫 因為是免費的?當然你也可以選擇在github上建立 7 month 接下來,我將以oschina為例來建立自己的私有庫 建立版本描述倉庫 版本庫名字為...

CocoaPods建立私有庫例項

導言1.從最簡單的開始 pod私庫建立,可以分為三部分 1 庫,就是我們一般存在 的git庫,例如github,推薦用國內的。例如gitee 2 podspec,這個是建立私庫的核心部分,用命令建立後,手動修改 3 gitspec,即將第二部中的podspec存到某git庫中,這樣其它專案才能通過設...