如何在撰写屏幕上打开"消息"应用程序,并在消息正文中预先加载特定文本?
Benjy的答案几乎是正确的,但有一个问题.
由于urlSafeBody
未展开,字符串插值产生
短信:体=可选( "你好%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) }