Xcode: 12.0.1 iOS: 14.0 Swift: 5
Als ich versuchte, den Browser extern mit dem folgenden Code zu starten, wurde die canOpenURL-Methode falsch und nicht extern gestartet.
guard let url: URL = URL(string: "https://www.yahoo.co.jp/") else { return }
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
Als ich auf die Konsole schaute, wurde die folgende Fehlermeldung angezeigt. Das https-URL-Schema ist nicht zulässig.
-canOpenURL: failed for URL: "https://www.yahoo.co.jp/" - error: "This app is not allowed to query for scheme https"
Wie in der Fehlermeldung angegeben, ist https nicht zulässig, sodass Sie es zulassen können.
Überprüfen Sie Offizielle CanOpenUrl-Dokumente, fügen Sie LSApplicationQueriesSchemes zur info.plist hinzu und definieren Sie dort die zulässigen Schemata. Es sieht gut aus, wenn Sie es geben. (Zitiert unten)
If your app is linked on or after iOS 9.0, you must declare the URL schemes you pass to this method by adding the LSApplicationQueriesSchemes key to your app's Info.plist file. This method always returns false for undeclared schemes, whether or not an appropriate app is installed. To learn more about the key, see LSApplicationQueriesSchemes.
Die App ist auch in LSApplicationQueriesSchemes Documentation verfügbar. Es heißt, ein URL-Schema anzugeben, das mit der Methode canOpenURL: getestet werden kann.
Definieren Sie das https-Schema in LSApplicationQueriesSchemes wie unten gezeigt.
In diesem Zustand wird true sicher an canOpenURL zurückgegeben. das ist alles.
Recommended Posts