Reference/Podfile

一. Pod install!

  • 定義了CocoaPods安裝podfile時(shí)的方式和選項(xiàng)
    第一個(gè)參數(shù)指定了安裝的方式,下面的參數(shù)制定了安裝的選項(xiàng)
    但是目前的CocoaPods只支持cocoapods,所以你的第一個(gè)參數(shù)只能填cocoapods,更多的參數(shù)會(huì)在未來的版本才支持??

舉個(gè)??
install! 'cocoapods',
??? :deterministic_uuids => false,
??? :integrate_targets => false

Supported Keys:

  • :clean 默認(rèn)true
    安裝的時(shí)候是否要清除pods里面無效的資源
  • :deduplicate_targets 默認(rèn)true
    是否支持多targets

target 'MyTargetA' do
pod 'MyPod/SubA'
end

target 'MyTargetB' do
pod 'MyPod'
end

  • :deterministic_uuids 默認(rèn)true
    創(chuàng)建Pods project 是否生成一個(gè)確定的UUID
  • :integrate_targets 默認(rèn)true是否把pods集成到用戶的工程下 如果這是為false缕允,Pods將被下載并安裝到 Pods/ `文件夾下蕾各,但是它們不會(huì)集成到你的工程中
  • :lock_pod_sources 默認(rèn)true
    是否鎖住pods的源文件。如果鎖定的話煞檩,當(dāng)你在pods的源文件中修改內(nèi)容時(shí)會(huì)彈窗警告腕扶。
    在安裝過程中鎖定 pod 會(huì)降低性能糟描。 如果這對(duì)您的項(xiàng)目的 pod install 的持續(xù)時(shí)間有顯著影響荠藤,您可以嘗試將其設(shè)置為 false
  • :warn_for_multiple_pod_sources 默認(rèn)true
    當(dāng)多個(gè)源包含具有相同名稱和版本的 Pod 時(shí)是否發(fā)出警告
  • :warn_for_unused_master_specs_repo 默認(rèn)true
    如果項(xiàng)目沒有明確指定基于 git 的主規(guī)范存儲(chǔ)庫(kù)伙单,則會(huì)發(fā)出警告
  • :share_schemes_for_development_pods 默認(rèn)false
    Whether to share Xcode schemes for development pods.
    Schemes for development pods are created automatically but are not shared by default.
  • :disable_input_output_paths 默認(rèn)false
    是否禁用 CocoaPods 腳本階段的輸入和輸出路徑(Copy Frameworks & Copy Resources)
  • :preserve_pod_file_structure 默認(rèn)false
    是否保留所有 Pod 的文件結(jié)構(gòu),包括外部來源的 Pod哈肖。
    By default, the file structure of Pod sources is preserved only for development pods.
    默認(rèn)的吻育,只有在development pods模式下才會(huì)維護(hù)pod的源文件的結(jié)構(gòu)。
    如果打開該選項(xiàng)淤井,會(huì)維護(hù)所有的包括第三方的pod的文件結(jié)構(gòu)
  • :generate_multiple_pod_projects 默認(rèn)false
    是否為每個(gè) pod 目標(biāo)生成一個(gè)項(xiàng)目布疼。 與創(chuàng)建 1 個(gè) Pods.xcodeproj 不同,此選項(xiàng)將為每個(gè)嵌套在 Pods.xcodeproj 下的 Pod 目標(biāo)生成一個(gè)項(xiàng)目币狠。
  • :incremental_installation 默認(rèn)false
    是否只安裝 上次安裝后更改的pod庫(kù)
  • :skip_pods_project_generation 默認(rèn)false
    是否跳過生成 Pods.xcodeproj 而只執(zhí)行依賴解析和下載游两。

二.ensure_bundler!

不解釋

三.Pod

  • Build configurations
    默認(rèn)dependencies會(huì)被安裝在target的所有設(shè)置項(xiàng)里面,但你也可以單獨(dú)設(shè)置這些選項(xiàng),如下所示

pod 'PonyDebugger', :configurations => ['Debug', 'Beta']
pod 'PonyDebugger', :configuration => 'Debug'

  • Modular Headers
    你想為每個(gè)pod使用模塊化的頭漩绵,可以使用pod 'SSZipArchive', :modular_headers => true
    如果你使用了use_modular_headers!,就代表每個(gè)pod都使用了模塊化的頭贱案,可以使用pod 'SSZipArchive', :modular_headers => false排除某個(gè)pod
  • Subspecs spec 美[spek] 投機(jī);說明書止吐;細(xì)則

pod 'QueryKit/Attribute'
pod 'QueryKit', :subspecs => ['Attribute', 'QuerySet']

  • Test Specs

pod 'AFNetworking', :testspecs => ['UnitTests', 'SomeOtherTests']

  • From a podspec in the root of a library repository.

pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git'
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :branch => 'dev'
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :commit => '082f8319af'

四. script_phase

可以執(zhí)行腳本

script_phase :name => 'HelloWorldScript', :script => 'echo "Hello World"'
script_phase :name => 'HelloWorldScript', :script => 'puts "Hello World"', :shell_path => '/usr/bin/ruby'

五.Target configuration

  • platform

platform :ios, '4.0'
The name of platform, can be either :osx for OS X, :ios for iOS, :tvos for tvOS, or :watchos for watchOS.

  • use_modular_headers!
    對(duì)所有 CocoaPods 靜態(tài)庫(kù)使用模塊化頭文件宝踪。
  • use_frameworks!
    為 Pod 使用框架而不是靜態(tài)庫(kù)。使用框架時(shí)碍扔,您還可以指定要使用的 :linkage 樣式瘩燥,即 :static 或 :dynamic。

target 'MyApp' do
use_frameworks! :linkage => :dynamic
pod 'AFNetworking', '~> 1.0'
end

target 'ZipApp' do
use_frameworks! :linkage => :static
pod 'SSZipArchive'
end

  • supports_swift_versions
    Specifies the Swift version requirements this target definition supports.
    指定此目標(biāo)定義支持的 Swift 版本要求不同。

target 'MyApp' do
supports_swift_versions '>= 3.0', '< 4.0'
pod 'AFNetworking', '~> 1.0'
end

六. Hooks

  • plugin

plugin 'cocoapods-keys', :keyring => 'Eidolon'
plugin 'slather'

  • pre_install
    適用時(shí)間:pods的代碼被下載成功但還沒有進(jìn)行安裝

pre_install do |installer|

Do something fancy!

end

  • pre_integrate
    項(xiàng)目被寫到磁盤之前

pre_integrate do |installer|

perform some changes on dependencies

end

  • post_install
    適用時(shí)間:生成了Xcode project但是還沒有寫入到磁盤
    它接收 [Pod::Installer] 作為其唯一參數(shù)厉膀。

post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['GCC_ENABLE_OBJC_GC'] = 'supported'
end
end
end

  • post_integrate
    適用時(shí)間:project已經(jīng)被寫入到了磁盤

post_integrate do |installer|

some change after project write to disk

end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市二拐,隨后出現(xiàn)的幾起案子站蝠,更是在濱河造成了極大的恐慌,老刑警劉巖卓鹿,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件菱魔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吟孙,警方通過查閱死者的電腦和手機(jī)澜倦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杰妓,“玉大人藻治,你說我怎么就攤上這事∠锘樱” “怎么了桩卵?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我雏节,道長(zhǎng)胜嗓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任钩乍,我火速辦了婚禮辞州,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寥粹。我一直安慰自己变过,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布涝涤。 她就那樣靜靜地躺著媚狰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪阔拳。 梳的紋絲不亂的頭發(fā)上崭孤,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音衫生,去河邊找鬼裳瘪。 笑死土浸,一個(gè)胖子當(dāng)著我的面吹牛罪针,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播黄伊,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼泪酱,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了还最?” 一聲冷哼從身側(cè)響起墓阀,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拓轻,沒想到半個(gè)月后斯撮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扶叉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年勿锅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枣氧。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溢十,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出达吞,到底是詐尸還是另有隱情张弛,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站吞鸭,受9級(jí)特大地震影響寺董,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞒大,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一螃征、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧透敌,春花似錦盯滚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至纽哥,卻和暖如春卒落,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嫩与。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工寝姿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人划滋。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓饵筑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親处坪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子根资,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361