CocoaPods + Plugins
CocoaPods是一个由极少数维护者运营的社区项目,需要维护大量的表面区域。可以肯定地说CocoaPods永远不会支持Xcode支持的每个功能,即使这样,团队也必须对许多潜在有用的功能说“不”。
2013年,CocoaPods增加了对CocoaPods插件的支持,而不是让讨论结束。插件架构允许其他人扩展CocoaPods以支持不符合依赖管理和生态系统增长的主要目标的功能。
CocoaPods Plugins能做什么
一个CocoaPods插件可以:
- Hook到安装过程中,无论是之前还是之后
- 添加pod新命令
- 做任何他们想做的事,因为Ruby是一种非常动态的语言
这意味着一个插件的范围一般与你在构建过程中添加的功能有关,这真的能做你想做的任何事。举个例子,cocoapods-roulette能生成一个带有3个随机pods的iOS新app。我们持续维护着一个所有插件的列表,你将在文章的末尾看到它们。
如何安装一个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插件也会被执行。
都有什么插件?
相当的少!如果你有某些更多的功能添加,发送我们一个PR到这个JSON文件