CocoaPods + Plugins
CocoaPods是一個(gè)由極少數(shù)維護(hù)者運(yùn)營的社區(qū)項(xiàng)目,需要維護(hù)大量的表面區(qū)域驱证〔绻剩可以肯定地說CocoaPods永遠(yuǎn)不會(huì)支持Xcode支持的每個(gè)功能,即使這樣均驶,團(tuán)隊(duì)也必須對許多潛在有用的功能說“不”团滥。
2013年竿屹,CocoaPods增加了對CocoaPods插件的支持,而不是讓討論結(jié)束灸姊。插件架構(gòu)允許其他人擴(kuò)展CocoaPods以支持不符合依賴管理和生態(tài)系統(tǒng)增長的主要目標(biāo)的功能拱燃。
CocoaPods Plugins能做什么
一個(gè)CocoaPods插件可以:
- Hook到安裝過程中,無論是之前還是之后
- 添加pod新命令
- 做任何他們想做的事力惯,因?yàn)镽uby是一種非常動(dòng)態(tài)的語言
這意味著一個(gè)插件的范圍一般與你在構(gòu)建過程中添加的功能有關(guān)碗誉,這真的能做你想做的任何事。舉個(gè)例子夯膀,cocoapods-roulette能生成一個(gè)帶有3個(gè)隨機(jī)pods的iOS新app诗充。我們持續(xù)維護(hù)著一個(gè)所有插件的列表,你將在文章的末尾看到它們诱建。
如何安裝一個(gè)plugin
你將會(huì)想要使用一個(gè)Gemfile,如果你從沒使用過Gemfile或者想要一個(gè)復(fù)習(xí) - 看看我們的指導(dǎo)手冊《Using a Gemfile》碟绑。所有的CocoaPods Plugins是Gems俺猿,他們通過第一次添加他們到Gemfile中來被安裝茎匠,你需要提及他們存在于你Podfile內(nèi)部。
舉個(gè)例子押袍,要使用cocoapods-repo-update - 你需要修改你的Gemfile:
source 'https://rubygems.org'
gem 'cocoapods'
+ gem 'cocoapods-repo-update' // 新增
gem 'fastlane'
然后添加一個(gè)它的引用在你的PodFile中:
platform :ios, '9.0'
+ plugin 'cocoapods-repo-update' // 新增
use_frameworks!
# OWS Pods
pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', testspecs: ["Tests"]
運(yùn)行 bundle exec pod install指令诵冒,cocoapods-repo-update插件也會(huì)被執(zhí)行。
都有什么插件谊惭?
相當(dāng)?shù)纳倨觯∪绻阌心承└嗟墓δ芴砑樱l(fā)送我們一個(gè)PR到這個(gè)JSON文件