一.需要导入messageUI.Frameworks(#import<messageUI/messageUI.h>)
二.步骤:
if NSClassFromString("MFMessageComposeViewController") != nil {
if MFMessageComposeViewController.canSendText() {
let messageCompose = MFMessageComposeViewController()
// 收信人
messageCompose.recipients = ["13807043589", "13807043581"]
// 短信内容
messageCompose.body = "短信内容";
if MFMessageComposeViewController.canSendSubject() {
// 短信主题
messageCompose.subject = "短信主题"
}
// 代理
messageCompose.messageComposeDelegate = self
self.present(messageCompose, animated: true, completion: nil)
} else {
// 不能发送短信
let str = "sms://13807043589&body=短信内容&subject=短信主题".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: str)!
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.openURL(url)
}
}
} else {
// 系统版本低于iOS 4.0
let str = "sms://13807043589&body=短信内容&subject=短信主题".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: str)!
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.openURL(url)
}
}
代理(必须实现):
func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
print(result)
controller.dismiss(animated: true, completion: nil)
}