如何以编程方式撰写邮件?

时间:2015-12-18 18:07:30

标签: swift watchkit

如何在撰写屏幕上打开消息应用,消息正文预先加载了特定文本?

2 个答案:

答案 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)")!)