Podspec 相关的配置

Podspec Syntax Reference v1.8.4

Root specification
s.name                #库名 
s.version             #版本号 
s.summary             #摘要     
s.author
s.authors             #库的作者 单人或多人    s.author           = { 'xiaoming' => 'xiaoming@qq.com.cn' }
s.license             #版权许可  #   s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.license          = {
      :type => 'Copyright',
      :text => <<-LICENCE
      Copyright 2013 Bestpay. All rights reserved.
      LICENCE
  }
s.homepage            #pod主页     
s.source              #库源码地址  
:git => :tag, :branch, :commit, :submodules
s.source           = { :git => 'https://gitlab.xxx.com.cn/mbp/sdk-ios-messagepush.git', :branch => "release/#{s.version}"}

'以上是必须设置的'

swift_versions          #支持的swift版本
cocoappods_version      #支持的 CocoaPods 版本号 s.cocoapods_version = '>= 0.36'
social_media_url        #门户网站
s.description           #描述  
s.screenshots           #快照 
s.documentation_url     #文档地址 
prepare_command         #预处理脚本 此命令在清理pod和创建pods项目之前执行。工作目录是pod的根目录。如果pod安装了:path选项,则不会执行此命令。
static_framework        #导出为静态库 'spec.static_framework = true'
deprecated              #是否弃用 'spec.deprecated = true'
deprecated_in_favor_of  #被弃用的库    spec.deprecated_in_favor_of = 'NewMoreAwesomePod'
Platform
s.platform              #支持的平台及版本号
        spec.platform = :osx, '10.8'
        spec.platform = :ios
        spec.platform = :osx
s.deployment_target     #最低要求系统版本        
        spec.ios.deployment_target = '6.0'
        spec.osx.deployment_target = '10.8'
Build settings
dependency              #依赖属性
        spec.dependency 'AFNetworking', '~> 1.0'
        spec.dependency 'RestKit/CoreData', '~> 0.20.0'
        spec.ios.dependency 'MBProgressHUD', '~> 0.5'
info_plist              #写入info.plist文件
    spec.info_plist = {
        'CFBundleIdentifier' => 'com.myorg.MyLib',
        'MY_VAR' => 'SOME_VALUE'
    }
requires_arc            #是否使用arc
    Defaults:
    spec.requires_arc = true
    Examples:
    spec.requires_arc = false
    spec.requires_arc = 'Classes/Arc'
    spec.requires_arc = ['Classes/*ARC.m', 'Classes/ARC.mm']
frameworks              #依赖系统库
    spec.ios.framework = 'CFNetwork'
    spec.frameworks = 'QuartzCore', 'CoreData'
weak_frameworks         #弱依赖库
    spec.weak_framework = 'Twitter'
    spec.weak_frameworks = 'Twitter', 'SafariServices'
libraries               #依赖的系统静态库    
    spec.ios.library = 'xml2'
    spec.libraries = 'xml2', 'z'
compiler_flags          #传递给编译器的参数
    spec.compiler_flags = '-DOS_OBJECT_USE_OBJC=0', '-Wno-format'

pod_target_xcconfig     #私有库添加的flag
    spec.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '-lObjC' }
user_target_xcconfig    #不推荐使用
    spec.user_target_xcconfig = { 'MY_SUBSPEC' => 'YES' }
prefix_header_contents  #不推荐 Any content to inject in the prefix header of the pod project.
    spec.prefix_header_contents = '#import <UIKit/UIKit.h>'
    spec.prefix_header_contents = '#import <UIKit/UIKit.h>', '#import <Foundation/Foundation.h>'
module_name         #模块

header_dir

header_mappings_dir

script_phases

File patterns
source_files         #源代码路径 
    spec.source_files = 'Classes/**/*.{h,m}', 'More_Classes/**/*.{h,m}'
public_header_files     #公开的头文件   spec.public_header_files = 'Headers/Public/*.h'  如果不设置,默认将sources中的头文件公开
private_header_files    #不公开的头文件 
vendored_frameworks     #引入的第三方framework
    spec.ios.vendored_frameworks = 'Frameworks/MyFramework.framework'
spec.vendored_frameworks = 'MyFramework.framework', 'TheirFramework.framework'
vendored_libraries      #引入的第三方.a
resource_bundles        #动态库所使用的资源文件存放位置,放在Resources文件夹中
    spec.ios.resource_bundle = { 'MapBox' => 'MapView/Map/Resources/*.png' }
    spec.resource_bundles = {
    'MapBox' => ['MapView/Map/Resources/*.png'],
    'MapBoxOtherResources' => ['MapView/Map/OtherResources/*.png']
  }
resources               #资源文件
    spec.resource = 'Resources/HockeySDK.bundle'
    spec.resources = ['Images/*.png', 'Sounds/*']
exclude_files           #目标路径下的文件不进行下载
    spec.ios.exclude_files = 'Classes/osx'
    spec.exclude_files = 'Classes/**/unused.{h,m}'
preserve_paths          #下载后不应删除的任何文件
    spec.preserve_path = 'IMPORTANT.txt'
    spec.preserve_paths = 'Frameworks/*.framework'
module_map              #映射
    spec.module_map = 'source/module.modulemap'
Subspecs
subspec                 #子模块
    Pod::Spec.new do |s|
        s.name = 'Root'

        s.subspec 'Level_1' do |sp|
        sp.subspec 'Level_2' do |ssp|
        end
    end
    end
requires_app_host           #是否允许运行测试
    test_spec.requires_app_host = true
app_host_name           #app 主机
scheme
test_spec
app_spec
default_subspecs
Multi-Platform support
ios
    spec.ios.source_files ='Classes/ios/**/*.{h,m}'
osx
macos
tvos
watchos

参考:Podspec Syntax Reference v1.8.4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容