CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能。下面就是具体的实现监测来电的代码
#import "ViewController.h" //引入框架 @import CoreTelephony; @interface ViewController () @property (nonatomic, strong) CTCallCenter * center; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.center = [[CTCallCenter alloc] init]; self.center.callEventHandler = ^(CTCall * call) { //TODO:检测到来电后的处理 }; } @end
这里注意一定要把center写成一个单独的属性,并且是强引用(strong),否则如果在viewDidLoad
方法里创建center,viewDidLoad
方法调用完后center就销毁了,就无法检测到来电了,千万不要犯这种低级错误。