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