gpt4 book ai didi

ios - safariViewController 调试 - URL 未加载

转载 作者:行者123 更新时间:2023-11-28 08:46:14 26 4
gpt4 key购买 nike

我在使用 Swift 2 构建的 iOS 9 应用程序中使用 SFSafariViewController。

我正在尝试打开一个 URL,但由于某种原因失败了。我试过的所有其他 URL 都有效,除了这个:

http://www.ctvnews.ca/sci-tech/33-engineers-to-be-recognized-at-sci-tech-oscars-1.2730223

该 URL 在模拟器、我的 iPhone、iPad 和任何桌面浏览器中的常规移动 Safari 中都没有问题。就在我尝试在此应用程序中通过 Swift 访问它时,它失败了。

代码如下:

    func openInSafari(URLtoOpen: String) {
print("Trying to openURL: " + URLtoOpen)
let safariVC = SFSafariViewController(URL:NSURL(string: URLtoOpen)!, entersReaderIfAvailable: false)
safariVC.delegate = self
self.presentViewController(safariVC, animated: true, completion: nil)
}

func safariViewController(controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool) {
// SFSafariViewController will present an error message in the browser,
// but in this case we will dismiss the view controller and present our
// own error alert.
if didLoadSuccessfully == false {
controller.dismissViewControllerAnimated(true, completion: { [unowned self] () -> Void in
let alert = UIAlertController(title: "Could Not Load", message: "The URL could not be loaded.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "Okay", style: .Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
})
}
}

这段代码工作正常,而且正如我所说,其他 URL 加载也很好。我真正需要的只是一种更详细地调试 safariViewController 遇到的导致它失败的方法。

didLoadSuccessfully == false 行似乎并没有提供更多的调试选项来了解哪里出了问题。

换句话说,我该如何调试呢?我似乎无法在 Apple 的文档中找到任何内容来解释在发生加载错误时要检查的内容。

求助!谢谢。

最佳答案

SFSafariViewController 自愿与应用屏蔽(如果它实际上是一个不同的进程,我不会感到惊讶),出于隐私和安全原因,与应用共享的信息非常少。

您可以尝试在 UIWebViewWKWebView 中加载相同的内容(这会为您提供更多反馈,但不会与 Safari 共享 cookie 或密码) 看看会发生什么。

关于ios - safariViewController 调试 - URL 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35279684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com