CocoaPods + Plugins
CocoaPods是一個由極少數(shù)維護者運營的社區(qū)項目,需要維護大量的表面區(qū)域??梢钥隙ǖ卣fCocoaPods永遠不會支持Xcode支持的每個功能,即使這樣,團隊也必須對許多潛在有用的功能說“不”。
2013年,CocoaPods增加了對CocoaPods插件的支持,而不是讓討論結束。插件架構允許其他人擴展CocoaPods以支持不符合依賴管理和生態(tài)系統(tǒng)增長的主要目標的功能。
CocoaPods Plugins能做什么
一個CocoaPods插件可以:
- Hook到安裝過程中,無論是之前還是之后
- 添加pod新命令
- 做任何他們想做的事,因為Ruby是一種非常動態(tài)的語言
這意味著一個插件的范圍一般與你在構建過程中添加的功能有關,這真的能做你想做的任何事。舉個例子,cocoapods-roulette能生成一個帶有3個隨機pods的iOS新app。我們持續(xù)維護著一個所有插件的列表,你將在文章的末尾看到它們。
如何安裝一個plugin
你將會想要使用一個Gemfile,如果你從沒使用過Gemfile或者想要一個復習 - 看看我們的指導手冊《Using a Gemfile》。所有的CocoaPods Plugins是Gems,他們通過第一次添加他們到Gemfile中來被安裝,你需要提及他們存在于你Podfile內部。
舉個例子,要使用cocoapods-repo-update - 你需要修改你的Gemfile:
source 'https://rubygems.org'
gem 'cocoapods'
+ gem 'cocoapods-repo-update' // 新增
gem 'fastlane'
然后添加一個它的引用在你的PodFile中:
platform :ios, '9.0'
+ plugin 'cocoapods-repo-update' // 新增
use_frameworks!
# OWS Pods
pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', testspecs: ["Tests"]
運行 bundle exec pod install指令,cocoapods-repo-update插件也會被執(zhí)行。
都有什么插件?
相當?shù)纳伲∪绻阌心承└嗟墓δ芴砑?,發(fā)送我們一個PR到這個JSON文件