Pod::Spec.new do |s|
# CocoaPods所有关键字 库名
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>'
# 组件源码的分层 或者叫子规格 子库 如果源码全部在Classes下就不需要这个 如果我们想要在当前组件下再去细分 如果当前组件是个HTTP请求组件分为 post或者get get post可以设置为子库
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'
# 组件系统框架依赖库
# 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
这个子库,那我们只需导入它的HuPublicClassKit/HuPublicClass/ViewControllers
就行。ViewControllers
就是它的子库。其中HuPublicClass
这个文件夹,我是为了层级才加的。如果是功能性的组件,是一个功能是一个子库如SDWebImage
。我这个是业务组件。
设置子库的格式
s.subspec '子库名称' do |ss(别名)|
//设置依赖 是视图控制器上肯定要加视图 所以 视图控制器肯定会依赖Views子库 同时ViewControllers也需要依赖Models子库 但是Views子库已经写过依赖了 所以这个地方不写也可以
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'