【发布时间】:2015-07-04 00:56:04
【问题描述】:
我可以在 IOS 本机代码中调用 worklight 6.0 适配器调用(使用 Objective-C),但我无法使用混合应用程序中的 cordova 插件读取适配器 JSON 响应。
// 调用适配器
MyConnectListener *connectListener = [[MyConnectListener alloc] initWithController:self];
[[WLClient sharedInstance] wlConnectWithDelegate:connectListener];
// calling the adapter using objective-c
WLProcedureInvocationData *myInvocationData = [[WLProcedureInvocationData alloc] initWithAdapterName:@"HTTP_WS_ADPTR" procedureName:@"getBalance"];
MyInvokeListener *invokeListener = [[MyInvokeListener alloc] initWithController: self];
[[WLClient sharedInstance] invokeProcedure:myInvocationData withDelegate:invokeListener];
CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:responseString];
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
// 混合应用程序调用本机代码
cordova.exec(sayHelloSuccess, sayHelloFailure, "HelloWorldPlugin", "sayHello", [name]);
以上cordova.exec成功和失败的方法是不返回值的。
但我无法解析来自 CDVPluginResult 方法的值。任何人请给我建议。如何从混合应用程序中读取 IOS 本机适配器。
【问题讨论】:
-
你能解释一下这个场景吗?你有一个 iPhone 环境的混合应用程序,你正在调用一个 Cordova 插件(一个类......),你试图在其中调用一个适配器?为什么?为什么不直接在 JS 代码中调用适配器?还要提及您遇到的 错误 以及
sayHelloSuccess和sayHelloFailure的实现。 -
对不起,打错了...等待我的回复
-
实际上,我们正在尝试使用 Objective-C 将适配器从 IOS 本地调用到使用 Cordova 插件的 Hybrid。所以,问题是,使用上述方法没有按预期触发。
-
以下是您查询的答案;你试图在其中调用适配器?为什么?为什么不直接在 JS 代码中调用适配器?因为,根据我们的场景,要求是证明我们可以在原生应用和混合应用之间调用。
-
还提到你得到的错误以及sayHelloSuccess和sayHelloFailure的实现没有错误,我们没有得到任何回应。
标签: ibm-mobilefirst worklight-adapters