首先在專案的Build Phases的Link Binary With Libraries中,加入CoreTelephony framework

接下來,取得電信業者相關資訊
#import "CTTelephonyNetworkInfo.h" #import "CTCarrier.h"
CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init]; CTCarrier *carrier = [info subscriberCellularProvider]; NSLog(@"carrier: %@", [carrier description]);
log結果如下
2013-05-08 23:09:12.671 IMSI[6121:907] carrier: CTCarrier (0x2105f170) { Carrier name: [台湾大哥大] Mobile Country Code: [466] Mobile Network Code:[97] ISO Country Code:[tw] Allows VOIP? [YES] }
你也可以偵測電話撥入與掛斷電話的狀態
只要實作一個callback即可
#import "CTCallCenter.h"
CTCallCenter *center = [[CTCallCenter alloc] init]; [center setCallEventHandler:^(CTCall *call) { NSLog(@"call1: %@", [call description]); }];
log結果如下
2013-05-08 23:23:09.025 IMSI[6278:30f] call:CTCall (0x2087c700) { callState: [CTCallStateIncoming] Call ID: [882BC855-0DDA-47F4-9F0E-80A378911AAF] } 2013-05-08 23:23:16.257 IMSI[6278:110b] call:CTCall (0x2085ee30) { callState: [CTCallStateDisconnected] Call ID: [882BC855-0DDA-47F4-9F0E-80A378911AAF] }
當然也可以偵測caller (來電顯示號碼)
但是那是private API,用了被貧果抓到會gg
所以就不介紹了...
沒有留言:
張貼留言