You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Oleg Gryb (Updated) (JIRA)" <ji...@apache.org> on 2012/03/02 01:02:56 UTC

[jira] [Updated] (CB-291) PhonGap.exec Plugin Parameter is Different on iOS and Android

     [ https://issues.apache.org/jira/browse/CB-291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oleg Gryb updated CB-291:
-------------------------

    Description: 
plugins.xml on Android and PhoneGap.plist are used to define a new plugin. They both use a short name (e.g. MyPlugin) and a fully qualified name (e.g. com.MyCompany.MyPlugin) to describe a plugin, however the meaning of the parameter #3 in PhoneGap.exec function is different. In Android case you need to write:

PhoneGap.exec(success, error, "MyPlugin", "method", [params]);

while in iOS case id should be:

PhoneGap.exec(success, error, "com.MyCompany.MyPlugin", "method", [params]);

It results in necessity of having two different JS files with custom plugin definitions, which could be avoided if we use the same convention on both platforms. I think, using FQN is a better option and that's why it should be fixed on Android.

A work around to avoid deploying two different JS files is to use something like this in plugins.xml on Android:

<plugin name="com.MyCompany.MyPlugin" value="com.MyCompany.MyPlugin"/>

It works, but it looks really ugly.

  was:
plugins.xml on Android and PhoneGap.phlist are used to define a new plugin. They both use a short name (e.g. MyPlugin) and a fully qualified name (e.g. com.MyCompany.MyPlugin) to describe a plugin, however the meaning of the parameter #3 in PhoneGap.exec function is different. In Android case you need to write:

PhoneGap.exec(success, error, "MyPlugin", "method", [params]);

while in iOS case id should be:

PhoneGap.exec(success, error, "com.MyCompany.MyPlugin", "method", [params]);

It results in necessity of having two different JS files with custom plugin definitions, which could be avoided if we use the same convention on both platforms. I think, using FQN is a better option and that's why it should be fixed on Android.

A work around to avoid deploying two different JS files is to use something like this in plugins.xml on Android:

<plugin name="com.MyCompany.MyPlugin" value="com.MyCompany.MyPlugin"/>

It works, but it looks really ugly.

    
> PhonGap.exec Plugin Parameter is Different on iOS and Android
> -------------------------------------------------------------
>
>                 Key: CB-291
>                 URL: https://issues.apache.org/jira/browse/CB-291
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 1.4.0
>         Environment: iOS, Android, Mac OSX 10.7
>            Reporter: Oleg Gryb
>            Assignee: Joe Bowser
>
> plugins.xml on Android and PhoneGap.plist are used to define a new plugin. They both use a short name (e.g. MyPlugin) and a fully qualified name (e.g. com.MyCompany.MyPlugin) to describe a plugin, however the meaning of the parameter #3 in PhoneGap.exec function is different. In Android case you need to write:
> PhoneGap.exec(success, error, "MyPlugin", "method", [params]);
> while in iOS case id should be:
> PhoneGap.exec(success, error, "com.MyCompany.MyPlugin", "method", [params]);
> It results in necessity of having two different JS files with custom plugin definitions, which could be avoided if we use the same convention on both platforms. I think, using FQN is a better option and that's why it should be fixed on Android.
> A work around to avoid deploying two different JS files is to use something like this in plugins.xml on Android:
> <plugin name="com.MyCompany.MyPlugin" value="com.MyCompany.MyPlugin"/>
> It works, but it looks really ugly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira