从Objective C委托回调Cordova插件

时间:2015-09-22 14:02:33

标签: javascript ios objective-c cordova ionic

情况:我正在构建一个cordova插件,用于将现有的iOS库与Ionic连接起来。方法的基本映射已完成并正常工作,这意味着我可以通过Angular方法调用iOS方法并获得成功/错误回调。

问题:调用了一个登录方法,然后调用适当的委托方法(例如userDidLoginWithSuccess)。从登录方法到cordova插件的回调很简单,但我需要以某种方式从委托方法回调,以便让Ionic应用程序知道用户是否已成功登录。

对此有何想法?感谢。

PS:我查了这篇帖子,但没有帮助,虽然这是一个类似的问题。 Phonegap - Send message to Javascript from Objective-c in a plugin delegate

1 个答案:

答案 0 :(得分:6)

在.h上创建一个属性callbackId,用于存储插件的回调标识符

@property (nonatomic, strong) NSString* callbackId;

然后,在您的插件方法上,将callbackId存储在您创建的属性上。

self.callbackId = command.callbackId;

最后,在委托上使用callbackId发送插件结果

CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:@"string result"];
[self.commandDelegate sendPluginResult:result callbackId:self.callbackId];