天天看點

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這兩個協定。發送後的回調如下:

  到此就可以發送短信了,本篇部落格先就到這兒吧~

繼續閱讀