iPhone電話與短信相關代碼小結

      關於iPhone上電話與短信相關功能,作一個簡單總結:數據庫

      使用公開SDK能實現的功能:網絡

      (1)獲取和操做通信錄。使用函數 ABAddressBookRequestAccessWithCompletion 、ABAddressBookCopyArrayOfAllPeople等,須要用戶點擊按鈕確認。函數

      (2)獲取電話狀態     使用類CTCallCenter能夠獲得通話狀態(呼入、呼出、掛斷,運營商等,沒法獲得呼入呼出電話號碼),先後臺時事件略有不一樣spa

      (3)獲取運營商及網絡信息    server

          使用類CTCarrier CTTelephonyNetworkInfo事件

      (4)撥打電話it

            [[UIApplication sharedApplication] openURL:@"tel://88888]io

      (5)調用發送短信的界面class

          方法一
          [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]]; 只能設定發送號碼
        方法二 使用 MFMessageComposeViewController 能夠設定號碼和內容,但不能自定義界面, 必須由用戶點擊確認發送,不能後臺發送
使用後臺

        須要使用非公開SDK或者越獄才能實現的功能

         之因此將非公開SDK和越獄區分開,是由於概念有些差別。有些私有API即便不越獄,在有證書的狀況下,也是能夠在真機上運行的。而有些功能,必須在越獄的狀況下,纔能有權限執行,沒有越獄的狀況下,有證書也沒法運行。

     (1)獲取電話號碼

           CTSettingCopyMyPhoneNumber  私有API,不須要越獄
     (2) 獲取通話記錄和短信內容
   
          通話記錄 讀取數據庫/private/var/root/Library/CallHistory/call_history.db 須要越獄

     (3) 獲取收到短信事件
        CTTelephonyCenterAddObserver 監聽事件  私有API,不須要越獄

      還有其餘N多功能,越獄後都能實現 :)

相關文章
相關標籤/搜索