NSURLComponents 构建没有 // 的方案
NSURLComponents builds scheme without //
我正在尝试创建一个 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 变为 nil。
有解决方法吗?
如果您不指定 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/,tweetbot URL 方案的形式为 tweetbot://<screenname>/<other_stuff>
。
所以tweetbot
是URL的scheme,<screenname>
是URL的host,/<other_stuff>
是URL的路径和查询。
所以,Sulthan 的回答中的代码是绝对正确的(而且不是 hacky)。
我正在尝试创建一个 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 变为 nil。
有解决方法吗?
如果您不指定 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/,tweetbot URL 方案的形式为 tweetbot://<screenname>/<other_stuff>
。
所以tweetbot
是URL的scheme,<screenname>
是URL的host,/<other_stuff>
是URL的路径和查询。
所以,Sulthan 的回答中的代码是绝对正确的(而且不是 hacky)。