我正在使用SFSafariViewController在我的iOS应用程序中打开一个URL ..它在iOS 9上完美运行但在将我的设备更新到iOS 10后,它只是在地址栏中加载了一个没有URL的空白页面.甚至safariViewController(控制器:SFSafariViewController,didCompleteInitialLoad didLoadSuccessfully:Bool)在控制器出现后也没有被调用.
我在视图控制器中导入了这个:
import SafariServices
码:
let url = NSURL(string: urlString)! if #available(iOS 9.0,*) { let safariVC = SFSafariViewController(URL: url) safariVC.delegate = self self.presentViewController(safariVC,animated: true,completion: { self.hideHUD() }) } else { // Fallback code }
here是其他人面临的完全相同问题的链接
解决方法
尝试评论你正在做的任何加载动画,并尝试没有它.
... // self.showHUD() // self.hideHUD() ...
这是因为在安全修复过程中引入了iOS 10中的一个错误,当使用进度条和加载器作为主窗口上方的窗口添加时,不会让safariViewController加载
我真的希望Apple记录下这一变化.我不得不在我当前的应用程序中注释掉加载指示器以使其正常工作.