美文网首页
Objective-C 与js 交互遇到的问题

Objective-C 与js 交互遇到的问题

作者: WinsonCheung | 来源:发表于2016-11-09 22:14 被阅读19次

前段时间, 公司App需要js 交互处理一些Sina支付的问题(资金管理Sina支付要全盘接手), 初次搞Objective-C 与js交互, 多亏天狐大神的博客 (天狐博客一生烟雨一场梦,一世红尘一阙歌), 帮我这个菜鸟解决了问题, 感恩ing~
接下来说说我的问题:
js关联:

self.context=[self.sinaWebview valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
//以JSExport协议关联native的方法
self.context[@"longkinAPIFunction"] =self;

调用的Objective-C方法:

- (void)sinaClickBack:(NSInteger)optype order:(NSString*)order {
    [self.navigationController popViewControllerAnimated:YES];
}

然而这样做在iOS10上会crash, iOS10以下虽然没有crash, 但是控制台会出现一堆错误信息.
解决办法:
在主线程中执行Objective-C代码:

- (void)sinaClickBack:(NSInteger)optype order:(NSString*)order {
    __weaktypeof(self) weakSelf =self;
    dispatch_async(dispatch_get_main_queue(), ^{
        [weakSelf.navigationController popViewControllerAnimated:YES];
    });
}

具体原因目前还没理解, 但是能解决问题... 管它呢😁 , 后续再慢慢琢磨.

相关文章

网友评论

      本文标题:Objective-C 与js 交互遇到的问题

      本文链接:https://www.haomeiwen.com/subject/icptpttx.html