我一直在阅读如何为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吗?
谢谢你,
三通
答案 0 :(得分: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
进行更改,然后......
make
,然后按Enter键这应该将“PhoneGapInstaller.dmg”构建到 dist 文件夹中。这就是您用来安装新版PhoneGap的方法。
另一种选择是获取您正在扩展的API的.m和.h文件(通过简单地从GitHub源存储库获取它们)并将它们变成具有您自己名称的新插件。作为一个例子,而不是扩展Camera API并对Camera.m进行更改并重新编译等...我选择创建一个名为MyCamera的插件,该插件具有来自Camera API和我自己的扩展的代码。 PhoneGap中的大多数API(至少在iOS中)基本上已经是插件本身,所以他们不需要太多的调整就可以变成一个插件,只是为了你的目的。
此方法还意味着您可以稍后升级PhoneGap,而不是破坏所有扩展程序。