javascript - 从 Objective C 委托(delegate)回调到 Cordova 插件

标签 javascript ios objective-c cordova ionic-framework

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

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

对此有什么想法吗?谢谢。

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

最佳答案

在您的 .h 上创建一个属性 callbackId,您将使用它来存储插件的回调标识符

@property (nonatomic, strong) NSString* callbackId;

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

self.callbackId = command.callbackId;

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

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

关于javascript - 从 Objective C 委托(delegate)回调到 Cordova 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32719016/

相关文章:

objective-c - 自从我创建 CustomNavigationBar 以来,导航栏中的按钮不会出现

javascript - Express 不为 React 重定向

javascript - JQuery 未成功加载 xml

ios - Xcode 10 迁移错误 : Module name is not a valid identifier

ios - NSTimer 没有从 Singleton 类触发

ios - 如何通过 CocoaPods 使用本地项目

objective-c - 多个值的一个标识符。是否可以?

javascript - 当 meteor 应用程序运行时,有哪些方法可以在服务器端执行任意代码?

javascript - 是否可以为未加载的视频提供备用 anchor 链接?

ios - 如何在一个 UIButton 中实现启动和停止操作?