iPhone电话与短信相关代码小结

      关于iPhone上电话与短信相关功能,做一个简单总结:

      使用公开SDK能实现的功能:

      (1)获取和操作通讯录。使用函数 ABAddressBookRequestAccessWithCompletion 、ABAddressBookCopyArrayOfAllPeople等,需要用户点击按钮确认。

      (2)获取电话状态     使用类CTCallCenter可以得到通话状态(呼入、呼出、挂断,运营商等,无法得到呼入呼出电话号码),前后台时事件略有不同

      (3)获取运营商及网络信息    

          使用类CTCarrier CTTelephonyNetworkInfo

      (4)拨打电话

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

      (5)调用发送短信的界面

          方法一
          [[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多功能,越狱后都能实现 :)

  

   

 

 

     

你可能感兴趣的:(iPhone电话与短信相关代码小结)