我的 Iphone 上的 WKWebView 出現未知錯誤。嘗試更改視圖內的導航鏈接時,目標鏈接請求攝像頭和麥克風權限。當嘗試查看 WKWebView 和設備之間的警報時,它崩潰了。
不能在非主執行緒上使用 asCopy = NO 呼叫。
[UIView setAnimationsEnabled:] 從后臺執行緒呼叫。不支持從后臺執行緒對 UIView 或子類執行任何操作,這可能會導致意外和隱蔽行為。跟蹤=(....)
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(nonnull WKNavigationAction *)navigationAction decisionHandler:(nonnull void (^)(WKNavigationActionPolicy))decisionHandler {
dispatch_async(dispatch_get_main_queue(), ^{
if (navigationAction.navigationType == WKNavigationTypeLinkActivated) {
if (navigationAction.request.URL) {
if (![navigationAction.request.URL.resourceSpecifier containsString:@"ex path"]) {
if ([[UIApplication sharedApplication] canOpenURL:navigationAction.request.URL]) {
//------>
UIApplication *application = [UIApplication sharedApplication];
[application openURL:navigationAction.request.URL options:@{} completionHandler:nil];
decisionHandler(WKNavigationActionPolicyCancel);
}else{
}
} else {
decisionHandler(WKNavigationActionPolicyAllow);
}
}
}
else if (navigationAction.request.URL && [[NSString stringWithFormat:@"%@",navigationAction.request.URL] rangeOfString:@"disconnectChat"].location != NSNotFound ){
decisionHandler(WKNavigationActionPolicyAllow);
[UIView animateWithDuration:0.5 animations:^{
self->_thankYouView.hidden = NO ;
} completion:^(BOOL finished) {
}];
}
else {
//------>
decisionHandler(WKNavigationActionPolicyAllow);
}
});
}
uj5u.com熱心網友回復:
試試用這個
- (void) webView:(WKWebView *)webView
requestMediaCapturePermissionForOrigin:(WKSecurityOrigin *)origin
initiatedByFrame:(WKFrameInfo *)frame type:(WKMediaCaptureType)type
decisionHandler:(void (^)(WKPermissionDecision decision))decisionHandlerii
API_AVAILABLE(ios(15.0))
{
decisionHandler(WKPermissionDecisionGrant);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/462946.html
標籤:IOS 目标-c wkwebview uialertview wkwebview配置
