[SWIFT] [IOS] canOpenURL wird in iOS14 falsch

Überprüfungsumgebung

Xcode: 12.0.1 iOS: 14.0 Swift: 5

Veranstaltung

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"

Ansatz

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.

Implementierung

Definieren Sie das https-Schema in LSApplicationQueriesSchemes wie unten gezeigt. スクリーンショット_2020-09-28_17_33_02.png

In diesem Zustand wird true sicher an canOpenURL zurückgegeben. das ist alles.

Recommended Posts

[IOS] canOpenURL wird in iOS14 falsch
Das Problem zu lösen, dass canOpenURL beim Ändern des Standardbrowsers / Mailers unter iOS14 und der Ergebnisse der Umfrage zur horizontalen Bereitstellung falsch wird
ATDD-Entwicklung unter iOS (Basic Edition)
Erhalten Sie parametrisierte PUSH-Benachrichtigungen unter iOS
Verwenden des lokalen Netzwerks mit iOS 14