Saat ini saya membuka tautan di aplikasi saya di WebView
, tetapi saya mencari opsi untuk membuka tautan di Safari .
150
Ini bukan "dipanggang untuk Swift", tetapi Anda dapat menggunakan UIKit
metode standar untuk melakukannya. Lihatlah aplikasi UIA (usang) dan .openUrl(_:)
open(_:options:completionHandler:)
Swift 4 + Swift 5 (iOS 10 dan lebih tinggi)
guard let url = URL(string: "https://stackoverflow.com") else { return }
UIApplication.shared.open(url)
Swift 3 (iOS 9 dan di bawah)
guard let url = URL(string: "https://stackoverflow.com") else { return }
UIApplication.shared.openURL(url)
Cepat 2.2
guard let url = URL(string: "https://stackoverflow.com") else { return }
UIApplication.sharedApplication().openURL(url)
Baru dengan iOS 9 dan lebih tinggi, Anda dapat menyajikannya kepada pengguna
SFSafariViewController
(lihat dokumentasi di sini ). Pada dasarnya Anda mendapatkan semua manfaat mengirim pengguna ke Safari tanpa membuat mereka meninggalkan aplikasi Anda. Untuk menggunakan SFSafariViewController baru, cukup:dan di suatu tempat di pengendali acara menyajikan pengguna dengan pengendali tampilan safari seperti ini:
Tampilan safari akan terlihat seperti ini:
sumber
sharedApplication
properti dalam ekstensi aplikasi dilarang. Untuk lebih lanjut: developer.apple.com/library/archive/documentation/General/…DIPERBARUI untuk Swift 4: (kredit ke Marco Weber)
ATAU gunakan gaya swift lainnya menggunakan
guard
:Swift 3:
Anda dapat memeriksa NSURL sebagai opsional secara implisit dengan:
sumber
if let requestUrl = NSURL(string: "http://www.iSecurityPlus.com") { UIApplication.shared.openURL(requestUrl as URL) }
Swift 3 & iOS 10.2
sumber
sejak iOS 10 Anda harus menggunakan:
sumber
Cepat 5
Swift 5: Periksa
canOpneURL
apakah valid maka terbuka.sumber
Dalam Swift 1.2:
sumber
Dalam Swift 2.0:
sumber
IOS 11.2 Swift 3.1- 4
sumber