IOS 发送短信

#调用短信 只初始化号码,不能初始化短信内容。

1
UIApplication.sharedApplication().openURL(NSURL(string: "sms://185****"))

#发送 初始化号码和内容 的短信

  • 加入:MessageUI.framework
  • import MessageUI
  • 实现代理 MFMessageComposeViewControllerDelegate
  • 发送短信

在项目中使用了FDFullscreenPopGesture手势,导致在编辑短信页面没有标题和取消按钮

解决办法:自定义标题和取消按钮

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

import MessageUI
// 实现代理
extension SmsTextVC: MFMessageComposeViewControllerDelegate{
// MARK: MFMessageComposeViewControllerDelegate

func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) {
controller.dismissViewControllerAnimated(true, completion: nil)
switch result{
case MessageComposeResult.Sent:
print("短信已发送")
case MessageComposeResult.Cancelled:
print("短信已取消")
case MessageComposeResult.Failed:
print("短信发送失败")
default:
break
}
}
}


/// 发送短信 viewcontroller 页面
private var messageComposeController:MFMessageComposeViewController!
/// 在短信页面返回
func backForMFMessageCompose(){
if messageComposeController != nil {
messageComposeController.dismissViewControllerAnimated(true, completion: nil)
}
}
/// 发送短信
func sendSMS(){
if MFMessageComposeViewController.canSendText(){
messageComposeController = MFMessageComposeViewController()
messageComposeController.messageComposeDelegate = self
// 收信人
messageComposeController.recipients = receive.componentsSeparatedByString(",")
// 消息内容
messageComposeController.body = txt

//设置标题
let navigationItem = messageComposeController.viewControllers.last.navigationItem
navigationItem.title = "新短信"
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "取消", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(self.backForMFMessageCompose))

self.presentViewController(messageComposeController, animated: true, completion: nil)
}
}

本文标题:IOS 发送短信

文章作者:史彦超

发布时间:2016年10月11日 - 22:10

最后更新:2021年07月20日 - 16:07

原始链接:https://doingself.github.io/2016/10/11/2016-10-11-Swift%E5%8F%91%E9%80%81%E7%9F%AD%E4%BF%A1/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Donate comment here