SFSafariViewController Absturz: Die angegebene URL hat nicht unterstütztes Schema
Mein code:
if let url = NSURL(string: "www.google.com") {
let safariViewController = SFSafariViewController(URL: url)
safariViewController.view.tintColor = UIColor.primaryOrangeColor()
presentViewController(safariViewController, animated: true, completion: nil)
}
Diese Abstürze bei der Initialisierung nur mit der Ausnahme:
Der angegebenen URL hat nicht unterstütztes Schema. Nur HTTP-und HTTPS-URLs werden unterstützt
Wenn ich url = NSURL(string: "http://www.google.com")
ist alles in Ordnung.
Ich bin eigentlich der laden von URL ' s aus der API und daher kann ich nicht sicher sein, dass Sie ein Präfix mit http(s)://
.
Wie man dieses problem angehen? Sollte ich überprüfen und Präfix http://
immer, oder gibt es einen workaround?
- siehe dieser link kann Ihnen helfen, stackoverflow.com/questions/32577727/...
- Ich überprüfte heraus, dass, es ist nicht verwandt. Ich bin schon erlaubt, beliebigen laden. Das Problem ist nicht die Verbindung und lädt nicht lokale html-von SFSafariController.
- Art macht Sie wünschte, es gäbe eine
SFSafariViewController.canOpen(url:)
-ish Art und Weise der überprüfung der unterstützten urls.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie prüfen Sie die Verfügbarkeit von http in Ihrem
url
string vor dem erstellenNSUrl
Objekt.Setzen Sie folgenden code vor dem code und es wird Ihr problem lösen (Sie können überprüfen für
https
auch in gleicher Weise)Versuchen, die Kontrolle Schema der
URL
bevor Sie eine Instanz derSFSafariViewController
.Swift 3:
Swift 2:
Habe ich eine Kombination von Yuvrajsinh s & hoseokchoi Antworten.
Verwenden WKWebView-Methode (ab iOS 11),