1. ホーム
  2. url

[解決済み] SwiftでURLの有効性をチェックするには?

2023-05-10 14:32:07

質問

あるアプリで、URL を指定してデフォルトのブラウザを起動させようとしていますが、入力された URL が有効な場合のみで、それ以外は URL が無効であるというメッセージが表示されます。

Swift を使って有効性をチェックするにはどうしたらよいでしょうか。

どのように解決するのですか?

アプリケーションが URL を開くことができるかどうかを確認することが目的である場合、次のようにします。safari は URL を開くことができますが、その Web サイトは存在しないか、ダウンしている可能性があります。

// Swift 5
func verifyUrl (urlString: String?) -> Bool {
    if let urlString = urlString {
        if let url = NSURL(string: urlString) {
            return UIApplication.shared.canOpenURL(url as URL)
        }
    }
    return false
}

余談ですが、これは ではなく は URL が有効かどうか、あるいは完全かどうかをチェックします。例えば、"https://" を渡す呼び出しは、true を返します。