Cordova ios 升级到WKWebview后程序需要进入到后台状态才调用自定义插件

这个问题主要是由于WKWebView没有对“gap”进行拦截,对比UIWebview的插件后,在

- (void)webView: (WKWebView*) webViewdecidePolicyForNavigationAction: (WKNavigationAction*) navigationActiondecisionHandler: (void(^)(WKNavigationActionPolicy)) decisionHandler

中加入拦截既可。

if ([[url scheme] isEqualToString:@"gap"]) {

        [vc.commandQueue fetchCommandsFromJs];

        // The delegate is called asynchronously in this case, so we don't have to us

        // flushCommandQueueWithDelayedJs (setTimeout(0)) as we do with hash changes.

        [vc.commandQueueexecutePending];

    }

后续Cordova方表示会跟随ios弃用UIWebview,还是拭目以待吧!目前只好用cordova-plugin-wkwebview-engine插件了!

官方说明blog:https://ionicframework.com/blog/understanding-itms-90809-uiwebview-api-deprecation

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。