App.中開啟Safari的方式

可以透過不同的方式去打開App中的網頁連結,這邊提供兩種方式:

  1. 離開目前的App,切換至Safari。
  2. 直接在App內嵌入Safari。

完整程式碼

第一種最簡單,只需以指定的URL呼叫UIApplication的open(_:options:completionHandler:)方法。

if let url = URL(string: “https://facebook.com/"){
UIApplication.shared.open(url)
}

第二種也很常見,優點是不用額外跳出App,一樣可以享有Safari的功能。先指定一個URL來建立SFSafariViewController物件,再呼叫present(_:animated:completion:)方法來呈現controller。

import SafariServices

需要先引入SafariServices。

if let url = URL(string: links[indexPath.row]){
let safariController = SFSafariViewController(url: url)
present(safariController, animated: true, completion: nil)
}
可以額外設定entersReaderIfAvailable為true,啟用Safari Reader。