cordova.exec()ios一旦执行错误

时间:2015-04-16 09:45:16

标签: ios cordova phonegap-plugins phonegap-build cordova-plugins

我正在制作带有phonegap的iOS应用程序,我有一个本机部分和另一个phonegap部分。 我想用NSUserDefaults中保存的数据填充文本字段。我第一次尝试这个,没关系,但在其他时候没有任何事情发生,从来没有调用在NSUserDefaults中保存数据的iOS方法。

这是我的代码:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSString *text = @"";
    if ([defaults valueForKey:@"mText"] != nil) {
        text = [defaults valueForKey:@"mText"];
    }

    NSString *jsonString = [NSString stringWithFormat:@"{ \"mText\":\"%@\" }", text];
    NSLog(@"%@",jsonString);

    CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:@"OK"];
    [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];

在js文件中:

getTextData: function (successCallBack, errorCallBack){
        cordova.exec(successCallBack, errorCallBack, "MyData", "getTextData", []);
    }

在这篇文章中,我找到了解决问题的方法: https://stackoverflow.com/a/24906634/4116026

我将这两行添加到cordova.js的底部:

var exec = cordova.require('cordova/exec');
exec.setJsToNativeBridgeMode(exec.jsToNativeModes.IFRAME_NAV);

完美无缺! 谢谢大家

0 个答案:

没有答案