Pod::Spec.new do |s|
# CocoaPods所有關(guān)鍵字 庫名
s.name = 'HuPublicClassKit'
# 當前庫的版本號
s.version = '0.0.3'
# 庫的簡略描述
s.summary = 'zhejiangweishengjaindusuo.'
# 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
TODO: Add long description of the pod here.
DESC
# 組件的主頁地址
s.homepage = 'http://gitlab.317hu.com/HuModularizationLibrary/HuPublicClas'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
# 許可證
s.license = { :type => 'MIT', :file => 'LICENSE' }
# 作者
s.author = { '15670967649' => 'huanghp@317hu.com' }
# 組件的遠端地址
s.source = { :git => 'git@gitlab.317hu.com:HuModularizationLibrary/HuPublicClassKit.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.ios.deployment_target = '8.0'
# 組件源碼文件配置路徑
s.source_files = 'HuPublicClassKit/Classes/*'
# 組件頭文件
s.public_header_files = 'HuPublicClassKit/Classes/*.h'
# 組件pch文件
s.prefix_header_contents = '#import <HuConfigsKit/HuConfigsHeader.h>','#import <MJExtension/MJExtension.h>','#import <HuUtilsKit/HuUtilsHeader.h>','#import <HuCategoryKit/HuCategoryHead.h>','#import <HuMainProjectCategoryKit/CTMediator+HuMainProjectCategory.h>','#import <MJRefresh/MJRefresh.h>','#import <SDWebImage/UIImageView+WebCache.h>','#import <Masonry/Masonry.h>'
# 組件源碼的分層 或者叫子規(guī)格 子庫 如果源碼全部在Classes下就不需要這個 如果我們想要在當前組件下再去細分 如果當前組件是個HTTP請求組件分為 post或者get get post可以設(shè)置為子庫
s.subspec 'HuPublicClass' do |ss|
ss.subspec 'Models' do |sss|
sss.source_files = 'HuPublicClassKit/Classes/HuPublicClass/Models/*'
end
ss.subspec 'Views' do |sss|
sss.dependency 'HuPublicClassKit/HuPublicClass/Models'
sss.source_files = 'HuPublicClassKit/Classes/HuPublicClass/Views/*'
end
ss.subspec 'ViewControllers' do |sss|
# 不是真實路徑依賴 比如說ViewControllers依賴了Views,Views依賴了Models,所以不需要在寫依賴Models
sss.dependency 'HuPublicClassKit/HuPublicClass/Models'
sss.dependency 'HuPublicClassKit/HuPublicClass/Views'
sss.source_files = 'HuPublicClassKit/Classes/HuPublicClass/ViewControllers/*'
end
end
# 組件資源文件的配置路徑
#s.resource_bundles = {
# 'HuPublicClassKit' => ['HuPublicClassKit/Assets/*']
#}
# 組件源碼頭文件配置路徑
# s.public_header_files = 'Pod/Classes/**/*.h'
# 組件系統(tǒng)框架依賴庫
# s.frameworks = 'UIKit', 'MapKit'
# 組件依賴的第三方l框架
# s.dependency 'AFNetworking', '~> 2.3'
s.dependency 'HuUtilsKit'
s.dependency 'TFDropDownMenu'
s.dependency 'HuConfigsKit'
s.dependency 'MJExtension', '~> 3.0.13'
end
子庫subspec
比如HuPublicClassKit這個庫,它里面有很多子庫,我們只需要ViewControllers這個子庫,那我們只需導(dǎo)入它的HuPublicClassKit/HuPublicClass/ViewControllers就行。ViewControllers就是它的子庫。其中HuPublicClass這個文件夾,我是為了層級才加的。如果是功能性的組件,是一個功能是一個子庫如SDWebImage。我這個是業(yè)務(wù)組件。

HuPublicClassKit

SDWebImage
設(shè)置子庫的格式
s.subspec '子庫名稱' do |ss(別名)|
//設(shè)置依賴 是視圖控制器上肯定要加視圖 所以 視圖控制器肯定會依賴Views子庫 同時ViewControllers也需要依賴Models子庫 但是Views子庫已經(jīng)寫過依賴了 所以這個地方不寫也可以
ss.dependency 'HuPublicClassKit/HuPublicClass/Views'
//子庫的路徑
ss.source_files = 'HuPublicClassKit/Classes/HuPublicClass/ViewControllers/*'
end
或者也可以這樣寫
s.subspec 'ViewControllers' do |ss|
ss.dependency 'HuPublicClassKit/HuPublicClass/Views'
ss.source_files = 'HuPublicClassKit/Classes/HuPublicClass/ViewControllers/*'
end
s.subspec 'Views' do |ss|
ss.dependency 'HuPublicClassKit/HuPublicClass/Models'
ss.source_files = 'HuPublicClassKit/Classes/HuPublicClass/Views/*'
end
安裝
pod 'HuPublicClassKit/HuPublicClass/Models'