如何在撰写屏幕上打开消息应用,消息正文预先加载了特定文本?
答案 0 :(得分:6)
Benjy's answer is almost correct,但有一个问题。
由于urlSafeBody
未被解包,因此字符串插值产生
SMS:&安培;体=可选(!"你好%20World&#34)
导致NSURL
初始化返回nil,因为URL字符串格式不正确。
这是一个有条理地打开选项的工作示例。这消除了与强制解包的nil选项相关的崩溃的可能性。
let messageBody = "Hello World!"
let urlSafeBody = messageBody.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLHostAllowedCharacterSet())
if let urlSafeBody = urlSafeBody, url = NSURL(string: "sms:&body=\(urlSafeBody)") {
WKExtension.sharedExtension().openSystemURL(url)
}
答案 1 :(得分:0)
感谢 @Jatin 查找openSystemURL(url: NSURL)
功能。
以下是代码:
let messageBody = "Hello World!"
let urlSafeBody = messageBody.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!
WKExtension.sharedExtension().openSystemURL(NSURL(string: "sms:&body=\(urlSafeBody)")!)