在開(kāi)發(fā)項(xiàng)目的過(guò)程中,會(huì)使用到全局的宏定義,公共開(kāi)發(fā)的組件,供項(xiàng)目?jī)?nèi)部使用,隨著業(yè)務(wù)的不斷增長(zhǎng),可以封裝的公共組件越來(lái)越多,那么有沒(méi)有好的方式來(lái)統(tǒng)一管理這些組件呢,這就是我今天要和大家分享的內(nèi)部庫(kù)的創(chuàng)建和使用。好了,直接進(jìn)入到今天的主題,如何創(chuàng)建和管理內(nèi)部庫(kù)。
創(chuàng)建內(nèi)部公共功能組件庫(kù)
我會(huì)以自己項(xiàng)目中使用到的一個(gè)逆時(shí)針進(jìn)度條來(lái)舉例,說(shuō)明如何去創(chuàng)建和使用一個(gè)內(nèi)部公共功能的組件庫(kù).具體操作步驟如下:
使用gitee創(chuàng)建一個(gè)項(xiàng)目,并clone到本地

進(jìn)入到項(xiàng)目根目錄下,創(chuàng)建Frameworks文件夾,進(jìn)入到Frameworks文件夾下,創(chuàng)建PSPublibs文件夾,然后在PSPublibs文件夾下分別創(chuàng)建PSPublibs.podspec,LICENSE,src,assets文件夾.接下來(lái)分別介紹這四個(gè)文件夾的用途
PSPublibs.podspec
PSPublibs.podspec是PSPublibs庫(kù)的Pod描述文件,用于描述該Pod庫(kù)的一個(gè)特定版本信息。它存放在CocoaPods的中心Repo供使用者查找和使用。
隨著這個(gè)
Pod庫(kù)的迭代,CocoaPods的中心Repo會(huì)為每個(gè)特定的Pod版本存放一個(gè)對(duì)應(yīng)的podspec文件。每個(gè)podspec文件都包括Pod對(duì)應(yīng)Repo的URL、源碼存放的位置、所支持的系統(tǒng)平臺(tái)及其系統(tǒng)最低版本號(hào),以及Pod的名字、版本號(hào)和描述等信息。
PSPublibs.podspec中的相關(guān)配置如下
Pod::Spec.new do |s|
s.name = 'PSPublibs.podspec'
s.version = '1.0.0'
s.summary = '項(xiàng)目中自用的公共組件'
# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!
s.description = <<-DESC
Contains the decomponents for Design System.
DESC
s.homepage = 'https://gitee.com/nbns/pspubliclib'
s.license = 'MIT'
s.author = 'MIT'
s.source = { :path => '.' }
s.ios.deployment_target = '13.0'
s.source_files = 'src/**/*'
# s.resources = 'assets/**/*'
end
LICENSE
LICENSE是許可證文件,如果是開(kāi)源庫(kù),我們必須嚴(yán)格選擇一個(gè)許可證,這樣才能方便其他開(kāi)發(fā)者使用我們的庫(kù)。
src
所有源代碼文件都存放在
src文件夾下面
assets
存放圖片、
Xib和Storyboard等資源文件
將封裝好的內(nèi)部組件庫(kù)拖至src文件夾下,按照對(duì)應(yīng)組件的名稱分類成不同的文件夾

使用pod lib lint庫(kù)檢測(cè)內(nèi)部庫(kù)配置文件是否正確
- 需要注意的是,
CocoaPods對(duì)內(nèi)部庫(kù)的檢測(cè)存在一個(gè)Bug, 會(huì)顯示下面的警告:
Missing primary key for `source` attribute
由于我們創(chuàng)建的是內(nèi)部庫(kù),所以可以忽略這個(gè)警告,只要沒(méi)有其他錯(cuò)誤信息就可以了。
到這里,內(nèi)部組件庫(kù)的創(chuàng)建就已經(jīng)完成了,接下來(lái),看看如何在項(xiàng)目中使用內(nèi)部庫(kù)
使用內(nèi)部公共功能組件庫(kù)
由于是內(nèi)部組建庫(kù),所以需要我們創(chuàng)建的項(xiàng)目和
Frameworks在同一層級(jí)
- 創(chuàng)建一個(gè)
Xcode項(xiàng)目,保證該項(xiàng)目和Frameworks在同一層級(jí),文件目錄如下:
截屏2021-03-22 下午12.18.42.png
-
cd到該目錄文件,創(chuàng)建pod文件,具體如下:
platform:'ios',13.0
target 'pspubliclib'do
pod 'PSPublibs', :path => './Frameworks/PSPublibs', :inhibit_warnings => false
end
- 執(zhí)行
pod install命令,待下載完成后,打開(kāi)項(xiàng)目,查看本地組件庫(kù)是否可以引用到,如果可以引用到,就可以了.
至此,內(nèi)部庫(kù)的創(chuàng)建和使用都已經(jīng)講解完了,如果有問(wèn)題,歡迎到評(píng)論去留言。
