swift SFSafariViewControllerDelegate与iOS 9目标要求iOS 8.1兼容性

时间:2015-07-17 01:42:16

标签: ios swift

我想使用safari视图控制器。 我的Xcode项目针对iOS 9。 令人惊讶的是,在编译我的代码时,我得到以下编译错误,该错误建议使Safari 8.1控制器兼容,尽管它是在iOS 9中引入的!

Protocol 'SFSafariViewControllerDelegate' requires 'safariViewControllerDidFinish' to be available on iOS 8.1.0 and newer

对此有什么想法吗?

2 个答案:

答案 0 :(得分:2)

这是你的修复(在Swift 2.0中):

@available(iOS 9.0, *) 
extension YourlViewController: SFSafariViewControllerDelegate {
  func safariViewControllerDidFinish(controller: SFSafariViewController){
    self.delegate?.onHtmlViewControlClosed(self)
  }
}

并将SFSafariViewController.delegate设置为YourViewController。

答案 1 :(得分:-1)

错误消息告诉您需要在safariViewControllerDidFinish中实施SFSafariViewControllerDelegate方法。你是正确的,在iOS 9中引入了SFSafariViewControllerDelegate这不是要求iOS 8.1兼容性。