我想在我的應用程序中打開一個WhatsApp URL,這是我在Swift中創建的。對於WhatsApp的URL模式是Swift encode WhatsApp URL
whatsapp://send?text=
和我的代碼如下所示:
let originalMessage = NSLocalizedString("Open following url ", comment: "") + " " + "http://<url>.<com>/?=test"
let escapedMessage = originalMessage.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLHostAllowedCharacterSet())!
// Check if url will be opened
guard let whatsAppUrl = NSURL(string: "whatsapp://send?text=" + escapedMessage) else {
print("error")
return
}
// Open whatsapp url
if UIApplication.sharedApplication().canOpenURL(whatsAppUrl) {
print("ok")
}
我的問題是,我在我的字符串,我用了WhatsApp打開一個問號「?」。我試圖逃避這樣的字符:
"whatsapp://send?text=\"" + escapedMessage + "\""
但是,如果我在WhatsApp中打開URL,我會得到一個空字符串。有人可以幫助我或爲我提示嗎?
''whatsapp:// send?text = \「」+ escapedMessage +「\」「'永遠不要這樣做。像這樣手工構建URL字符串總是錯誤的。使用NSURLComponents和NSURLQuery;這就是他們的目標。 – matt