Plugin not found, or is not a CDVPlugin. Check your plugin mapping in config.xml
In my case, when I was facing the same issue in ios the error was that in plugin.xml file of plugin
<config-file target="config.xml" parent="/*">
<feature name="UDPSender">
<param name="ios-package" value="UDPSender"/>
</feature>
</config-file>
the value was mismatching with that of present in swift file, in swift file start of class was something like that
@objc(HWPUDPSender) public class UDPSender: CDVPlugin, GCDAsyncUdpSocketDelegate{
here we can see in plugin.xml value is UDPSender but in swift file it is HWPUDPSender and these two should be same
Here is an small unimportant detail I forgot to mention in the question. This is what the www/config.xml
in the sample app using the plugin looked like. Can you spot the issue?
<widget id="org.sample.test" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>My Cordova Test</name>
<description>
A series of tests demonstrating the use of my cordova plugin
</description>
<author email="" href="">
That would be me
</author>
<content src="index.html" />
<access origin="*" />
</widget>
Notice the space in the application name <name>My Cordova Test</name>
. This seems to work at first, but it puts spaces in the folder name that will later host your plugin. That is enough to interfere with the plugin installation process. This is what I did to fix the issue:
- changed the name of the test app to
MyCordovaTest
cordova platform remove ios
cordova plugin remove org.myplugin.cordova
cordova platform add ios
cordova plugin add ../my-plugin
cordova build ios
Now the plugin is installed properly and is initialized as expected. Many thanks to the nice folks in #phonegap
IRC room who helped me debug this problem. I hope this helps someone.