我正在开发适用于iOS和Android的PhoneGap 3.5.0应用。我想在本机代码中编写一些功能,所以我一直在寻找创建插件。
我已经关注了Plugin Development Guide,所有代码都运行良好;我可以通过插件公开的JS api调用本机函数。
我的问题是如何从这里继续发展。现在我只是手动将插件类添加到项目中(我首先开发iOS插件,所以我此时并不关心android)。看起来我应该做的是将插件代码放在一个类似于this example的单独repo中,然后使用CLI工具将其添加到应用程序中。
我做了这个,插件被添加到应用程序中。但是,我不知道如何继续对插件进行更改,测试它们,以及在插件回购中更改插件文件之后更新插件文件。
这里的预期/推荐工作流程是什么?是从XCode直接在应用程序中更改插件文件,然后每次将它们复制到插件仓库?
答案 0 :(得分:3)
我以同样的方式或多或少地做过这件事。我通常使用cordova create myplugintest
,然后cordova platform add ios
开始一个项目,并在其他插件中添加一个kickstart cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin
。然后运行cordova prepare
将插件源复制到平台文件夹,并通过运行cordova build
查看是否所有内容都正确编译。
然后我开始破解js和本机代码,创建我的新插件。当我高兴的时候,我为插件创建了一个新的repo,在一个较旧的插件中复制以获得一个起点(主要针对plugin.xml
和文件夹结构,所以我不会愚蠢错误)。然后复制myplugintest
。
然后我扔掉了myplugintest
项目并创建了一个新项目,这次添加了新插件仓库中的插件。这有两个目的:测试插件和plugin.xml
是否在闪亮的新项目中按预期工作。而且,这是我需要用来在需要添加功能时进一步扩展插件的项目。
一旦我对更改感到满意,我就会将特定更改复制到插件库。这确保插件仓库始终包含工作软件(测试项目中包含测试版代码)。
毫无疑问,您确实需要一个具有VCS集成的良好IDE,以便不会忽略您的更改。
这可能听起来有点冗长,但我个人对此工作流程没有任何疑问。
作为旁注 - 您使用的插件示例是一个良好的开端,但不是一个有很多肉的插件。它并没有告诉你如何将错误返回给JS代码(触发errorcallback)。此外,plugin.xml在平台标记内有一个js-modue标记。虽然这在某些情况下可能有效,但大多数情况下js代码对于所有平台都是相同的,因此将其提升到一个级别更有意义。