objective-c – Phonegap – 为iOS扩展插件

我一直在阅读如何为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吗?

谢谢,
T恤

最佳答案 编辑:这个答案不再完全正确.

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

进行更改,然后……

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

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

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

此方法还意味着您可以稍后升级PhoneGap,而不是破坏所有扩展程序.

点赞