iOSアプリでの着信イベントの取得

iOSにおいて着信イベントを取得するためには、Core Telephony Framework の CTCallCenter を使用する。
CoreTelephony.framework を追加した上で、コードは以下の通り。


#import
#import

- (void)viewDidLoad
{
(略)

CTCallCenter* callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler = ^(CTCall* call) {
NSString* callState = [call callState];
if (callState == CTCallStateIncoming) {
// 着信時の処理
}
(略)
};

}

CTCall.callState は以下の4つである。

CTCallStateIncoming着信
CTCallStateDialing発信
CTCallStateConnected通話開始
CTCallStateDisconnected切断

参考

CoreTelephonyDemo - iOS Developer Library