source_files:源文件(可以包含.h和.m)
public_header_files:頭文件(.h文件)
resources:資源文件(配置的文件都會(huì)被放到mainBundle中)
resource_bundles:資源文件(配置的文件會(huì)放到你自己指定的bundle中)
frameworks:依賴的系統(tǒng)框架
vendored_frameworks:依賴的非系統(tǒng)框架
libraries:依賴的系統(tǒng)庫(kù)
vendored_libraries:依賴的非系統(tǒng)的靜態(tài)庫(kù)
dependency:依賴的三方庫(kù)
Pod::Spec.new do |spec|
# pod庫(kù)名稱
spec.name = "MyLib"
# 曾經(jīng)被被棄用的名字
# spec.deprecated_in_favor_of = 'NewMoreAwesomePod'
# pod庫(kù)版本
spec.version = "0.0.1"
# pod庫(kù)指定swift版本
# spec.swift_version = '3.2'
# pod庫(kù)指定cocoapods版本
# spec.cocoapods_version = '>= 0.36'
# Pod庫(kù)的簡(jiǎn)要說明季二。字?jǐn)?shù)最多為140字旨巷。描述應(yīng)該剪短挠蛉,但是內(nèi)容豐富。
spec.summary = "這是一個(gè)測(cè)試用的pod庫(kù)"
# Pod的描述(description)比摘要(summary)更詳細(xì),寫在 <<-DESC 內(nèi)容 DESC 這個(gè)標(biāo)簽之間
# spec.description = <<-DESC
# DESC
# 用來說明這個(gè)庫(kù)的項(xiàng)目主頁
spec.homepage = "http://EXAMPLE/MyLib"
# 用圖片的方式去介紹庫(kù),可以是任意常用圖片格式
# spec.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"
# 文檔地址
# spec.documentation_url = "www.example.com/doc"
# pod庫(kù)開源許可證書 如MIT、GPL跺撼、LGPL、BSD
spec.license = "MIT"
# 作者名稱和郵箱讨彼,會(huì)讀取本地git信息自動(dòng)生成歉井,允許匿名,只填郵箱哈误,可設(shè)置多個(gè)用逗號(hào)分隔
spec.author = { "kukukukiki" => "896415611@qq.com", "sx" => "896415611@qq.com" }
# 作者的社交賬戶地址哩至,twitter 微博之類的都可以
# spec.social_media_url = "https://twitter.com/kukukukiki"
# 在pod文件下載完畢之后,執(zhí)行的命令躏嚎,支持多行命令
# 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
# 標(biāo)記pod是否過期
# spec.deprecated = true
# 支持的平臺(tái),如果不寫默認(rèn)支持所有平臺(tái)(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--標(biāo)簽,branch-分支,commit-版本號(hào),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_當(dāng)前pod庫(kù)版本'的tag珠漂,同時(shí)也支持submodules,最好是可以保持tag和podVersion統(tǒng)一
spec.source = { :git => "http://EXAMPLE/MyLib.git", :tag => "#{spec.version}" }
# ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
# 源文件
# 匹配規(guī)則
# *匹配所有文件
# c*匹配以名字C開頭的文件
# *c匹配以名字c結(jié)尾的文件
# *c*匹配所有名字包含c的文件
# **文件夾以及遞歸子文件夾
# ?任意一個(gè)字符(注意是一個(gè)字符)
# [set] 匹配多個(gè)字符,支持取反
# {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/*']
# 資源文件,比如圖片尾膊,這種方式資源文件會(huì)被以bundle的形式加入到項(xiàng)目中去,官方建議使用的方式,主要是防止與用戶的命名方式?jīng)_突
# spec.ios.resource_bundle = { 'MapBox' => 'MapView/Map/Resources/*.png' }
# spec.resource_bundles = {
# 'MapBox' => ['MapView/Map/Resources/*.png'],
# 'OtherResources' => ['MapView/Map/OtherResources/*.png']
# }
# ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
# 依賴的系統(tǒng)的框架, 可以指定平臺(tái)
# 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,默認(rèn)true,如果不是,會(huì)自動(dòng)添加-fno-objc-arc compiler flag
# spec.requires_arc = true
# 也可以指定使用ARC的目錄
# spec.requires_arc = false // 先設(shè)為false才可以
# spec.requires_arc = 'Classes/Arc' //該文件夾下是ARC,其它非ARC
# spec.requires_arc = ['Classes/*ARC.m', 'Classes/ARC.mm'] //指定文件ARC,其它非ARC
# 設(shè)置 xcconfig 比如 HEADER_SEARCH_PATHS
# spec.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
# 依賴的第三方
# 可以指定某個(gè)平臺(tái)的依賴
# spec.dependency "JSONKit", "~> 1.4"
# spec.ios.dependency 'MBProgressHUD', '~> 0.5'
# 支持 c++
# spec.ios.library = 'c++'
end