iOS中如何监测来电

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就销毁了,就无法检测到来电了,千万不要犯这种低级错误。

posted @ 2016-05-24 16:12  不会凉的黄花菜  阅读(325)  评论(0编辑  收藏  举报