首先在專案的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
所以就不介紹了...
沒有留言:
張貼留言