Нет API, который бы указывал NSDataDetector
по умолчанию на https
схемы URL, когда он находит URL без схемы.
Один из вариантов - обновить полученный URL самостоятельно:
let message = "www.example.com"
let detector = try NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue)
let matches = detector.matches(in: message, range: NSRange(location: 0, length: message.utf16.count))
var url: URL?
for match in matches {
if match.resultType == .link {
url = match.url
if url?.scheme == "http" {
if var urlComps = URLComponents(url: url!, resolvingAgainstBaseURL: false) {
urlComps.scheme = "https"
url = urlComps.url
}
}
print(url)
break
}
}