公司项目中要用到点击按钮发短信的功能,由于之前没做过,在网上找了一些 demo, 自己总结点,大神勿喷 ^-^

要实现发短信的功能其实不难,可以利用系统的MessageUI.framework框架 就可以实现,步骤如下:
  1.首先判断设备是否有发送短信功能
  2.如果设备允许发送短信,创建一个MFMessageComposeViewController视图控制器,并对其设置短信内容和收件人号码列表。
  3.短信发送后,会执行回调代理方法,可以获取发送结果(成功,失败或取消)
代码如下:

import UIKit
//导入头文件
import MessageUI//遵守代理 - MFMessageComposeViewControllerDelegate
class ViewController: UIViewController , UINavigationControllerDelegate, MFMessageComposeViewControllerDelegate{override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.self.view.backgroundColor = UIColor.lightGray}override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {//设置联系人let str = "10086"//创建一个弹出框提示用户let alertController = UIAlertController(title: "发短信", message: "是否给\(str)发送短信?", preferredStyle: .alert)let cancleAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)let sendAction = UIAlertAction(title: "确定", style: .default) { (alertController) in//判断设备是否能发短信(真机还是模拟器)if MFMessageComposeViewController.canSendText() {let controller = MFMessageComposeViewController()//短信的内容,可以不设置controller.body = "发短信"//联系人列表controller.recipients = [str]//设置代理controller.messageComposeDelegate = selfself.present(controller, animated: true, completion: nil)} else {print("本设备不能发短信")}}alertController.addAction(cancleAction)alertController.addAction(sendAction)self.present(alertController, animated: true, completion: nil)}//实现MFMessageComposeViewControllerDelegate的代理方法func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {controller.dismiss(animated: true, completion: nil)//判断短信的状态switch result{case .sent:print("短信已发送")case .cancelled:print("短信取消发送")case .failed:print("短信发送失败")default:print("短信已发送")break}}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()// Dispose of any resources that can be recreated.}}

这样一个简单的发短信的功能就实现了,基本上够用了

Swift3.0 中实现发短信功能相关推荐

  1. android 自动发彩信,Android编程实现定时发短信功能示例

    本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...

  2. android+发短信示例,Android编程实现定时发短信功能示例

    本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...

  3. iOS调用系统发短信功能详解

    iOS调用系统的发短信功能可以分为两种:1,程序外调用系统发短信.2,程序内调用系统发短信.第二种的好处是用户发短信之后还可以回到app.这对app来说非常重要. 程序外调用系统发短信 这个方法其实很 ...

  4. 前端H5唤起手机打电话(拨号)和发短信功能

    1.拨打电话 2.发送短信 3.移动web页面自动探测电话号码 4.使用wtai协议进行拨打电话 5.关于微信页面出现屏蔽的情况,采用以下解决方案 在移动端页面,有时候我们需要唤起用户手机的打电话功能 ...

  5. H5唤起手机打电话(拨号)和发短信功能

    H5唤起手机打电话(拨号)和发短信功能 拨打电话 发送短信 移动web页面自动探测电话号码 使用wtai协议进行拨打电话 关于微信页面出现屏蔽的情况,采用以下解决方案 在移动端页面,有时候我们需要唤起 ...

  6. Java实现阿里云发短信功能

    一 点睛 1 阿里云短信开发文档 https://helpcdn.aliyun.com/document_detail/55284.html 2 阿里云AK申请 https://usercenter. ...

  7. iOS开发之系统发短信功能详解

    iOS调用系统的发短信功能可以分为两种:1,程序外调用系统发短信.2,程序内调用系统发短信.第二种的好处是用户发短信之后还可以回到app.这对app来说非常重要. 程序外调用系统发短信 这个方法其实很 ...

  8. 小程序短信验证码登录,1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序

    老规矩先看效果图 普通短信 验证码短信 今天被云开发官方告知,云开发支持发短信功能了,然后就迫不及待的来尝下鲜. 进入官方文档一看,云开发给咱们开发者的福利还真不小. 不仅仅可以很方便的使用短信功能, ...

  9. 苹果七绕过基带激活2020_苹果研发无信号发短信功能

    据外媒报道,苹果最近停止了一个极好的项目开发,该项目原本是指苹果与英特尔合作开发的新技术,可以让iPhone绕过蜂窝网络的远程无线电波,在手机无服务的情况下与其他iPhone互发短信.类似于对讲机,只 ...

  10. iOS开发中打电话发短信等功能的实现

    在APP开发中,可能会涉及到打电话.发短信.发邮件等功能.比如说,通常一个产品的"关于"页面,会有开发者的联系方式,理想情况下,当用户点击该电话号码时,能够自动的帮用户拨出去,就涉 ...

最新文章

  1. 如何统计网站用户的停留时间?
  2. 【JS 逆向百例】有道翻译接口参数逆向
  3. Docker 操作命令 整理
  4. 转载-IDEA项目左边栏只能看到文件看不到项目结构
  5. paip.oracle query export to insert sql
  6. python解二阶微分方程组_用Python求解一阶和二阶微分方程组
  7. CSS实现地图(一)
  8. iOS 项目默认竖屏 个别页面横屏
  9. oracle中给予权限,Oracle给予用户权限
  10. 京籍、非京籍、外籍孩子,在北京选择国际高中
  11. 2023年1月综合预订类APP用户洞察——旅游市场复苏明显,三年需求春节集中释放
  12. 用什么来做用户行为分析?七个实用工具推荐给你
  13. 贝塞尔曲线是什么?如何用 Canvas 绘制三阶贝塞尔曲线?
  14. CSS-精灵图片的使用(从一张图片中截图指定位置图标)
  15. Flutter BLoC 用户登录
  16. 感觉到大腿内的肌肉出血,应该用绳子包扎肌肉上侧还是下侧?
  17. NuGet基础连接已经关闭,发送时发生错误
  18. 因易用性导致的TongWeb使用误区
  19. Unity -Demo 之 ✨桌面小宠物
  20. Markdown(Typora)学习记录

热门文章

  1. linux文件的复制需要什么权限,linux下复制文件需要什么样权限
  2. 阿里大牛:如何画出一图胜千言的技术架构图?
  3. 微信小程序毕业设计 基于微信选修课报名抢座小程序系统开题报告
  4. 将CSDN博客保存为PDF
  5. 中华石杉-- --搜索引擎的笔记
  6. mbedtls | 02 - 伪随机数生成器(ctr_drbg)的配置与使用
  7. mbedtls里面的rsa应用函数
  8. 杂项 Chrome浏览器截取长图
  9. YOLOV5 + 双目测距(python)
  10. 图书条形码跟ISBN号互相转换的类