如何在撰写屏幕上打开“消息”应用程序,并在消息正文中预先加载特定文本?
Benjy’s answer is almost correct,但有一个问题.
由于urlSafeBody未展开,因此字符串插值会产生
sms:&body=Optional(“Hello%20World!”)
这导致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) }