[ https://issues.apache.org/jira/browse/CB-1385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shazron Abdullah reassigned CB-1385: ------------------------------------ Assignee: Andrew Grieve (was: Filip Maj) Hi Andrew - assigning to you for comment. > 2.1.0rc2 breaks certain plugins on iOS due to added "null" argument using > FORMAT TWO in iOSExec > ----------------------------------------------------------------------------------------------- > > Key: CB-1385 > URL: https://issues.apache.org/jira/browse/CB-1385 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaJS, iOS > Affects Versions: 2.1.0 > Environment: iOS > Reporter: Matthew Windwer > Assignee: Andrew Grieve > Fix For: 2.1.0 > > > This was brought to my attention when the InAppPurchaseManager plugin no > longer worked for me on 2.1.0rc2, but was working in 2.0. > The issue happens when calling cordova.exec using "FORMAT TWO", e.g: > cordova.exec('InAppPurchaseManager.requestProductData', productId, callback + > '.success', callback + '.fail'); > When the arguments get to the native side there is an extra null value > preceding the rest of the arguments. This is only a problem when the plugin > expects the arguments to be in a certain order, like for > InAppPurchaseManager. A workaround for InAppPurchaseManager is to increase > the index by one for each call in the .m file (e.g. [arguments > objectAtIndex:0] becomes [arguments objectAtIndex:1]). > The extra null value is the callbackId, which is always going to be null > using "FORMAT 2". The code that handles this was refactored since 2.0, which > may be the source of the problem, in particular around line 959 of the > current cordova.js: > var command = [callbackId, service, action, actionArgs]; -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira