4

我一直在阅读有关如何为 Phonegap 创建新插件的信息,并且似乎可以通过遵循本教程来获得它。

http://wiki.phonegap.com/w/page/36753496/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20iOS

但是,我很难掌握如何扩展现有插件。(不创建新的)
一直在阅读本教程。

http://hiediutley.com/2011/03/28/phonegap-tutorial-series-3-extending-the-phonegap-api/

例如,我似乎无法找到可以将代码行添加到 .m 文件的位置。在我的 XCode 中,我只看到 .h 文件,而没有看到 .m 文件。
还是有更好的方法来扩展 api?

谢谢你,
三通

4

1 回答 1

2

编辑:这个答案不再完全正确。

最新版本的 Cordova / PhoneGap 不是作为编译框架出现的,而且更容易(尤其是从 2.2.0 开始)调整特定应用程序使用的 cordova 版本,因为它只是 XCode 中的一个子项目。

要获取 .m 文件,您必须下载 PhoneGap (Cordova) iOS 源代码并进行更改,以编译您自己的 PhoneGap 框架版本。

这并不像听起来那么难,但如果您对 Objective-C 和命令行编译工具不太熟悉,那可能会有点令人生畏。

解释 iOS 源中的 README,例如:

$ git clone http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios.git

进行更改,然后...

  1. 启动“Terminal.app”
  2. 导航到 Makefile 所在的文件夹(./PhoneGapLib ?)
  3. 输入make然后按 Enter

这应该将“PhoneGapInstaller.dmg”构建到dist文件夹中。这是您用来安装新版本 PhoneGap 的工具。

另一种选择是获取您正在扩展的 API 的 .m 和 .h 文件(通过简单地从 GitHub 源存储库中获取它们)并将它们制作成具有您自己名称的新插件。例如,我没有扩展 Camera API 并对 Camera.m 进行更改并重新编译等...我选择制作一个最初称为 MyCamera 的插件,该插件具有来自 Camera API 的代码和我自己的扩展。PhoneGap 中的大多数 API(至少在 iOS 中)基本上本身就已经是插件,因此它们不需要太多的调整就可以变成一个仅用于您的目的的插件。

此方法还意味着您可以稍后升级 PhoneGap 而不会破坏所有扩展。

于 2012-02-23T00:59:53.587 回答