天天看点

iOS开发之调用系统打电话发短信接口以及程序内发短信

  在本篇博客开头呢,先说一下写本篇的博客的原因吧。目前在做一个小项目,要用到在本应用程序内发验证码给其他用户,怎么在应用内发送短信的具体细节想不大起来了,于是就百度了一下,发现也有关于这方面的博客,点进去看了看,个人感到有点小失望,写的太不详细,只是简单的代码罗列,而且代码也没注释,大概是因为太简单了吧。今天在做完项目的发短信功能后感觉有必要把这部分内容整理一下,做个纪念也是好的不是吗。废话少说,切入今天的正题。下面的发短信,打电话当然需要真机测试了。

  一、调用系统功能

    在ios中打开系统本身的打电话和发短信功能还是比较简单的,之前在sso中也提了一嘴,ios中可以由一个应用打开另一个应用,只需要一行代码,打电话,发短信,发email,开网页也是一样的 ,只是用的协议不一样。

    1.打电话

      这个还是比较简单的,下面是打电话的代码:%@的内容是手机号self.myapplication是application的单例。

iOS开发之调用系统打电话发短信接口以及程序内发短信

    2.发短信

      发送短信只是和打电话用的协议不一样改一下协议就可以打电话了

iOS开发之调用系统打电话发短信接口以及程序内发短信

    3、发email

      也是换一下协议即可

iOS开发之调用系统打电话发短信接口以及程序内发短信

    

    4.打开网址

iOS开发之调用系统打电话发短信接口以及程序内发短信

  二、在本应用中打开

    上面的方法都是打开相应的应用程序,然后做相应的事情,那么我们如何在本应用中就可以给我们的用户发送短信呢?下面就让我们来实现这个功能

    1.引入我们要用的framework(其实在应用程序内发送短信和imagepickerviewcontroller的用法极为的相似,没有什么困难的地方),我们需要引入messageui.framework,入下图

iOS开发之调用系统打电话发短信接口以及程序内发短信

    2.在pch文件导入相应头文件

iOS开发之调用系统打电话发短信接口以及程序内发短信

    3.下面是实现发送短信的核心代码

      (1)判断设备是否有发送短信的功能代码如下:

  

    (2).如果有发送短信功能的话,就得判断ios版本释放支持"mfmessagecomposeviewcontroller". ios4.0之后支持

    (3)、经过各种验证后确定设备可以使用mfmessagecomposeviewcontroller,我们就开始用了

    (4),差点给忘了,实现相应的委托回调协议是少不了的~要实现mfmessagecomposeviewcontrollerdelegate,uinavigationcontrollerdelegate这两个协议。发送后的回调如下:

  到此就可以发送短信了,本篇博客先就到这儿吧~