CTCallの概要(後で補足します)

6497 ワード

CTCallを使用するにはCoreTelephonyをインポートする必要がある.frameworkフレームワーク.
CTCallの基本使用
(1)初期化call
CFStringRef number = CFSTR("15555555555");
CTCallRef call = CTCallDial(number);//       ... CTCallHold(call);//      ... CTCallResume(call);//      ... CTCallDisconnect(call);//     

CTCallDial , 。 :+1 (555) 555-5555 15555555555。
: CPPhoneNumberCopyNormalized 。

(2)通話記録取得_CTCallCopyAllCallsメソッドを使用してすべての通話記録を取得し、このリストの各要素はCTCallである.CFArrayRef calls=_CTCallCopyAllCalls();NSLog(@"Calls: %@", calls);
CFRelease(calls);



(3) CPPhoneNumber
, CTCall , 。 CPPhoneNumber 。 CPPhoneNumber 。
CPPhoneNumber 。
  <1> :CPPhoneNumberCopyNormalized copy
extern "C" char *CPPhoneNumberCopyNormalized(const char* number);
  char *pn = CPPhoneNumberCopyNormalized("+1 (555) 555-5555");
  printf("%s
", pn); // 15555555555
  free(pn);
   <2>      :CPPhoneNumbersEqual                    ,     ,    ,    。        ,                    ,        。
  extern "C" CFStringRef CPPhoneNumberCopyHomeCountryCode();
  extern "C" BOOL CPPhoneNumbersEqual(const char* number1, const char* number2, CFStringRef country);
  BOOL equal = CPPhoneNumbersEqual("+49302270", "0302270", CPPhoneNumberCopyHomeCountryCode()); // +49( ) , , yes。
 
 

転載先:https://www.cnblogs.com/qingpeng/p/4772789.html