0
我正在开发iOS的科尔多瓦插件。我的'plugin.js'中有一个方法,我只从应用程序调用一次(javascript),开始监听本地部分的回调。当调用此方法时,我将callbackId存储在Objective-C类中,并希望稍后发送回调(可能有多个回调),因此我使用存储的callbackId发送CDVPluginResult,并将'keepCallback'设置为true 。但回调永远不会到达'plugin.js',因此不会在应用程序中。科尔多瓦插件回调没有被调用(iOS)
Objective-C的方法1(这是听者部分):
- (void)listenForNews:(CDVInvokedUrlCommand *)command
{
self.storedCallbackId = command.callbackId;
...
Objective-C的方法2(这是正在被多次调用异步方法)
- (void)onNewsReceived
{
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
[pluginResult setKeepCallbackAsBool:YES];
[self.commandDelegate sendPluginResult:pluginResult callbackId:self.storedCallbackId];
我已经已经验证'storedCallbackId'已被正确存储和读取。
任何想法?
感谢@DaveAlden。我们可以解决这个问题。最后,这是一个插件类的多个实例的问题,这导致Cordova松开了回调(当然)。 – Dani