podspec属性详解

source_files:源文件(可以包含.h和.m)
public_header_files:头文件(.h文件)
resources:资源文件(配置的文件都会被放到mainBundle中)
resource_bundles:资源文件(配置的文件会放到你自己指定的bundle中)
frameworks:依赖的系统框架
vendored_frameworks:依赖的非系统框架
libraries:依赖的系统库
vendored_libraries:依赖的非系统的静态库
dependency:依赖的三方库

Pod::Spec.new do |spec|
  # pod库名称
  spec.name         = "MyLib"

  # 曾经被被弃用的名字
  # spec.deprecated_in_favor_of = 'NewMoreAwesomePod'

  # pod库版本
  spec.version      = "0.0.1"

  # pod库指定swift版本
  # spec.swift_version = '3.2'

  # pod库指定cocoapods版本
  # spec.cocoapods_version = '>= 0.36'

  # Pod库的简要说明。字数最多为140字。描述应该剪短,但是内容丰富。
  spec.summary      = "这是一个测试用的pod库"

  # Pod的描述(description)比摘要(summary)更详细,写在 <<-DESC 内容 DESC 这个标签之间
  # spec.description  = <<-DESC
  #                  DESC

  # 用来说明这个库的项目主页                 
  spec.homepage     = "http://EXAMPLE/MyLib"

  # 用图片的方式去介绍库,可以是任意常用图片格式
  # spec.screenshots  = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"

  # 文档地址
  # spec.documentation_url = "www.example.com/doc"

  # pod库开源许可证书 如MIT、GPL、LGPL、BSD
  spec.license      = "MIT"

  # 作者名称和邮箱,会读取本地git信息自动生成,允许匿名,只填邮箱,可设置多个用逗号分隔
  spec.author             = { "kukukukiki" => "896415611@qq.com", "sx" => "896415611@qq.com" }

  # 作者的社交账户地址,twitter 微博之类的都可以
  # spec.social_media_url   = "https://twitter.com/kukukukiki"

  # 在pod文件下载完毕之后,执行的命令,支持多行命令
  # spec.prepare_command = 'ruby build_files.rb'

  # spec.prepare_command = <<-CMD
  #                       sed -i 's/MyNameSpacedHeader/Header/g' ./**/*.h
  #                       sed -i 's/MyNameOtherSpacedHeader/OtherHeader/g' ./**/*.h
  #                  CMD

  # 标记pod是否过期
  # spec.deprecated = true

  # 支持的平台,如果不写默认支持所有平台(ios、osx、watchos、tvos)
  # spec.platform     = :ios
  # spec.platform     = :ios, "5.0"
  # spec.ios.deployment_target = "5.0"
  # spec.osx.deployment_target = "10.7"
  # spec.watchos.deployment_target = "2.0"
  # spec.tvos.deployment_target = "9.0"

  #  指定代码地址。一般是git地址,后面可以跟tag--标签,branch-分支,commit-版本号,submodules-子目录
  #  也支持 git, hg, bzr, svn and HTTP.
  #  支持的key:
  #  :git => :tag, :branch, :commit, :submodules
  #  :svn => :folder, :tag, :revision
  #  :hg => :revision
  #  :http => :flatten, :type, :sha256, :sha1
  # :tag => "v_#{spec.version}, :submodules => true" 表示指向 'v_当前pod库版本'的tag,同时也支持submodules,最好是可以保持tag和podVersion统一
  spec.source       = { :git => "http://EXAMPLE/MyLib.git", :tag => "#{spec.version}" }

  # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  # 源文件 
  # 匹配规则
  # *匹配所有文件
  # c*匹配以名字C开头的文件
  # *c匹配以名字c结尾的文件
  # *c*匹配所有名字包含c的文件
  # **文件夹以及递归子文件夹
  # ?任意一个字符(注意是一个字符)
  # [set] 匹配多个字符,支持取反
  # {p,q} 匹配名字包括p 或者 q的文件
  spec.source_files  = "Classes", "Classes/**/*.{h,m}"
  spec.exclude_files = "Classes/Exclude"

  # 公有头文件 私有头文件
  # spec.public_header_files = "Classes/**/*.h"
  # spec.private_header_files = 'Headers/Private/*.h'

  # 自己的或者第三方framework,比qqSDK的TencentOpenAPI.framework
  # spec.vendored_frameworks = 'MyFramework.framework','TheirFramework.framework'

  # 自己的或者第三方.a文件,比如微信SDK的.a文件
  # spec.vendored_libraries = 'libProj4.a', 'libJavaScriptCore.a'

  # ――― Resources ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  # spec.resource  = "icon.png"
  # spec.resources = ['Images/*.png', 'Sounds/*']

  # 资源文件,比如图片,这种方式资源文件会被以bundle的形式加入到项目中去,官方建议使用的方式,主要是防止与用户的命名方式冲突
  # spec.ios.resource_bundle = { 'MapBox' => 'MapView/Map/Resources/*.png' }
  # spec.resource_bundles = {
  #     'MapBox' => ['MapView/Map/Resources/*.png'],
  #     'OtherResources' => ['MapView/Map/OtherResources/*.png']
  #   }

  # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  # 依赖的系统的框架, 可以指定平台 
  # spec.framework  = "SomeFramework"
  # spec.frameworks = "SomeFramework", "AnotherFramework"
  # spec.ios.framework = 'SomeFramework', "AnotherFramework"
  # spec.library   = "iconv"
  # spec.libraries = "iconv", "xml2"
  # spec.ios.libraries = "iconv", "xml2"

  # compiler_flags, 头文件,pch文件
  # spec.compiler_flags = '-DOS_OBJECT_USE_OBJC=0', '-Wno-format'
  # spec.prefix_header_contents = '#import <UIKit/UIKit.h>', '#import <Foundation/Foundation.h>'
  # spec.prefix_header_file = 'iphone/include/prefix.pch'

  # ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #

  # 是否是ARC,默认true,如果不是,会自动添加-fno-objc-arc compiler flag
  # spec.requires_arc = true

  # 也可以指定使用ARC的目录
  # spec.requires_arc = false // 先设为false才可以
  # spec.requires_arc = 'Classes/Arc'   //该文件夹下是ARC,其它非ARC
  # spec.requires_arc = ['Classes/*ARC.m', 'Classes/ARC.mm']  //指定文件ARC,其它非ARC

  # 设置 xcconfig 比如 HEADER_SEARCH_PATHS
  # spec.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }

  # 依赖的第三方
  # 可以指定某个平台的依赖
  # spec.dependency "JSONKit", "~> 1.4"
  # spec.ios.dependency 'MBProgressHUD', '~> 0.5'

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

推荐阅读更多精彩内容