NSURLComponents строит схему без //
Я пытаюсь создать схему URL, чтобы открыть приложение Tweetbot таким образом.
var urlComponents = NSURLComponents()
urlComponents.scheme = "tweetbot"
urlComponents.path = "BalestraPatrick/user_profile/\(user)"
Мой ожидаемый результат будет: tweetbot://BalestraPatrick/user_profile/username
Результат вместо этого: tweetbot:BalestraPatrick/user_profile/username
// не добавляются автоматически Если я пытаюсь добавить символы в схему или в путь, URL становится нулевым.
Есть идеи для обхода?
2 ответа
Решение
//
не появится, если вы не укажете host
, Я думаю, что идеальным решением было бы:
let user = "test"
var urlComponents = NSURLComponents()
urlComponents.scheme = "tweetbot"
urlComponents.host = "BalestraPatrick"
urlComponents.path = "/user_profile/\(user)"
print("URL: \(urlComponents.string!)") // URL: tweetbot://BalestraPatrick/user_profile/test
Согласно http://tapbots.net/tweetbot3/support/url-schemes/ схема URL tweetbot имеет вид tweetbot://<screenname>/<other_stuff>
,
Так tweetbot
это схема URL, <screenname>
является хостом URL, и /<other_stuff>
это путь URL и запрос.
Итак, код в ответе Султана абсолютно правильный (и не хакерский).