H5页面跳转支付宝出现崩溃问题,如下
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Completion handler passed to -[WKWebViewJavascriptBridge webView:decidePolicyForNavigationAction:decisionHandler:] was not called'
terminating with uncaught exception of type NSException
代码如下:
在代理方法
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
if([navigationAction.request.URL.absoluteString hasPrefix:@"alipays://"]||[navigationAction.request.URL.absoluteString hasPrefix:@"alipay://"]){
NSString* reqUrl = navigationAction.request.URL.absoluteString;
if ([reqUrl hasPrefix:@"alipays://"] || [reqUrl hasPrefix:@"alipay://"]) {
// NOTE: 跳转支付宝App
BOOL bSucc = [[UIApplication sharedApplication] openURL:navigationAction.request.URL];
// NOTE: 如果跳转失败,则跳转itune下载支付宝App
if (!bSucc) {
//未下载可以去下载支付宝
}
decisionHandler(WKNavigationActionPolicyCancel);//必须要加这句
return;//这句是防止再次调用,调用两次回调会崩溃,
}
}
decisionHandler(WKNavigationActionPolicyCancel);//必须要加这句
return;//这句是防止再次调用,调用两次回调会崩溃,