【问题标题】:UIWebView not loading in iOS 10UIWebView 未在 iOS 10 中加载
【发布时间】:2017-05-24 02:03:05
【问题描述】:

更新到 iOS 10 和 Swift 3 后,我的 webViews 无法正常工作。在调试区如下。它发生在设备或模拟器中。有谁知道是什么原因造成的。

2017-05-23 20:04:19.453057-0500 AppName[394:32639] WF: _userSettingsForUser mobile: {
    filterBlacklist =     (
    );
    filterWhitelist =     (
    );
    restrictWeb = 1;
    useContentFilter = 0;
    useContentFilterOverrides = 0;
    whitelistEnabled = 0;
}
2017-05-23 20:04:19.453481-0500 AppName[394:32639] WF: _WebFilterIsActive returning: NO

【问题讨论】:

  • 可能与 ATS 有关。您是否尝试访问 HTTP 或 HTTPS 网站?
  • HTTP。它在 iOS 10 或 Swift 3 之前工作
  • 如果您连接到 HTTP 网站,您必须使用 SFSafariViewController 或更改您的 ATS 设置。
  • 是的,我已经将允许任意加载设置为是
  • 显示你的 ViewController 代码

标签: swift swift3 uiwebview ios10 ios10.3


【解决方案1】:

当我尝试在 IOS 10 的 UIWebView 中播放 vimeo 视频时遇到了同样的问题。在我的情况下,我在 viewDidLayoutSubviews() 中设置了 UIWebView 的 HTML。

        let htmlString:String! = "<iframe src=\"https://player.vimeo.com/video/7100569\" width=\"\(self.view.frame.width - 20)\" height=\"\(self.videoWebView.frame.height)\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>"
        self.videoWebView.loadHTMLString(htmlString, baseURL: nil)

我通过将此代码放入viewDidLoad()解决了这个问题

【讨论】:

    【解决方案2】:

    忘记更新了。事实证明,客户端转换为 Linux 服务器并且认为这无关紧要,因此从未提及它。文件所在的文件夹包含大写字母,但应用程序中的代码没有。使用 Linux 服务器时,如果文件或文件夹包含大写字母,则 URL 也必须如此。快速修复我只是将文件移动到一个没有大写字母的新文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-19
      • 2011-08-04
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      • 2014-06-21
      相关资源
      最近更新 更多