wkwebview按要求音频崩溃&麦克风弹出iOS 15.4

发布于 01-21 23:31 字数 1992 浏览 4 评论 0原文

我在iPhone上的WKWebView遇到了一个未知的错误。当尝试更改视图中的导航链接时,“目标链接请求摄像头”和“麦克风权限”。尝试查看WKWebView和设备之间的警报时。

不能用assopy = 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);
            }
    });
    
}

I get an unknown error with WKWebView on my Iphone.When try to Change the navigation link inside the view the destination link request camera and microphone permission. when try to view the alert between WKWebView and the device its crashed .

Cannot be called with asCopy = NO on non-main thread.

+[UIView setAnimationsEnabled:] being called from a background thread. Performing any operation from a background thread on UIView or a subclass is not supported and may result in unexpected and insidious behavior. trace=(....)

- (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);
            }
    });
    
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三寸金莲2025-01-28 23:31:40

尝试使用此

- (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);
 
}

Try use this

- (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);
 
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文