【问题标题】:Phonegap - Extend a plugin for iOSPhonegap - 为 iOS 扩展插件
【发布时间】:2012-02-23 00:25:01
【问题描述】:
【问题讨论】:
标签:
objective-c
cordova
phonegap-plugins
【解决方案1】:
编辑:这个答案不再完全正确。
最新版本的 Cordova / PhoneGap 不是作为编译框架提供的,而且调整特定应用程序使用的 cordova 版本要容易得多(尤其是从 2.2.0 开始),因为它只是 XCode 中的一个子项目。
要获取 .m 文件,您必须下载 PhoneGap (Cordova) iOS 源代码并进行更改,以编译您自己的 PhoneGap 框架版本。
这并不像听起来那么难,但如果您对 Objective-C 和命令行编译工具不太熟悉,可能会有点令人生畏。
从 iOS 源中解释自述文件,例如:
$ git clone http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios.git
进行更改,然后...
- 启动“Terminal.app”
- 导航到 Makefile 所在的文件夹 (./PhoneGapLib ?)
- 输入
make 然后回车
这应该将“PhoneGapInstaller.dmg”构建到 dist 文件夹中。这是您用来安装新版 PhoneGap 的工具。
另一种选择是获取您正在扩展的 API 的 .m 和 .h 文件(只需从 GitHub 源代码库中获取它们)并将它们制作成具有您自己名称的新插件。例如,我没有扩展 Camera API 并对 Camera.m 进行更改并重新编译等...我选择制作一个最初称为 MyCamera 的插件,该插件具有来自 Camera API 的代码和我自己的扩展。 PhoneGap 中的大多数 API(至少在 iOS 中)基本上本身就已经是插件,因此它们不需要太多的调整就可以变成一个仅用于您的目的的插件。
此方法还意味着您可以稍后升级 PhoneGap 而不会破坏所有扩展。