如何在 Swift 中使用 mailto 将包含多个查询参数的 URL 传递到电子邮件正文?



考虑:

let body =  "Some text: www.google.co.in?q=1&q2=sdsdsds"
let urlString = "mailto:(toEmail)?subject=(subject.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!)&body=(body.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!)"

每当邮件客户端打开时,它都会&q2=sdsdsds.去除第二个参数。我该如何解决这个问题?

正确的方法是使用 URLComponents。下面是一些代码:

var urlComponents = URLComponents(string: "your URL string without queries")
urlComponents?.queryItems = [URLQueryItem(name: "subject", value: subject)]

另请查看桑德尔的这篇文章。

最新更新