UIWebview loadRequest 仅在 iPhone X 中不起作用

Posted

技术标签:

【中文标题】UIWebview loadRequest 仅在 iPhone X 中不起作用【英文标题】:UIWebview loadRequest not working only in iPhone X 【发布时间】:2019-04-16 13:08:31 【问题描述】:

我正在尝试在 Objective C 中使用 webView 加载 URL。我尝试了“https://www.tidecleaners.com/cincinati-pricing”,它适用于所有设备。但不仅仅适用于 iPhone X。

这是我的代码,

NSString *fullURL = @"https://www.tidecleaners.com/cincinati-pricing";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
self.WebView_O.delegate = self;
[self.WebView_O loadRequest:requestObj];

【问题讨论】:

你有任何控制台报告 您能告诉我们确切的问题是什么,或者给我们提供错误日志。谢谢 为什么不使用WKWebView?根据 Apple 文档:从 ios 8.0 和 OS X 10.10 开始,使用 WKWebView 将 Web 内容添加到您的应用程序。不要使用 UIWebView 或 WebView。 我遇到了“NSURLConnection finished with error - code -1007”这样的问题。 【参考方案1】:

根据the Apple docs,错误-1007表示NSURLErrorHTTPTooManyRedirects,即由于重定向过多导致HTTP连接失败。 也许你的 iPhone X 上 iOS 版本的 WebView 实现对重定向的容忍度低于旧设备。但是,这似乎是服务器问题,您可能无法在客户端对此做太多事情。

但是,要获取有关该问题的更多信息,您可以启用更详细的网络日志:

在 Xcode 中打开您的方案。 选择左侧的Run,右侧的Arguments 标签。 将CFNETWORK_DIAGNOSTICS 添加到环境变量中,并添加1、2 或3 作为值(取决于您想要的详细程度)。

希望日志会告诉您更多关于错误的信息。

【讨论】:

以上是关于UIWebview loadRequest 仅在 iPhone X 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView 不使用 loadRequest 加载网站的移动版本

如果从 tableView:didSelectRowAtIndexPath 调用 UIWebView 不调用 loadRequest:

iOS UIWebView loadRequest 耗时太长

UIWebview loadRequest不仅适用于iPhone X.

General-Block 56, 1024, 8, 244, 24 Memory Leaks using UIWebView loadRequest

如何在Swift中的UIWebView中加载URL?