CTCall簡介(後續會繼續補充)

2022-07-25 19:39:08 字數 1567 閱讀 2211

使用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\n", 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。

opencv實用技巧總結!(後續會補充)

1.已經定義好了img為mat型,但是沒有初始化,在後面程式的任何乙個位置可以使用下面的 初始化img,比如img mat 1,2 其中 1是矩形區域的大小,2是陣列內資料型別。2.在opencv中畫素點的資料型別能找到對應類似char,int,float,double的,比如說是分別為cv 8uc...

ThinkPHP開發中的技巧 發現新的會繼續新增

1.可以定義公共的控制器或者model類來實現相同的功能 2.使用 this assign賦值的時候太多的話最好用陣列的方式 3.volist中獲取資料其實可以使用函式和物件的方法的。4.寫模版的時候如果用include包含的話,最好將html頭部編碼設定等都放在要包含的head.html中 5.如...

Vue中需要注意的小知識丶,後續會持續更新哦

注意觀察下面的兩段 區別在於乙個age加了v bind也就是冒號,乙個沒有加,那麼就會有區別了 因為不加v bind也就是冒號的話,那麼age後面的數字就相當於字串,然後整個 下來就相當於字串的拼接,那麼結果就是2010 20 aaa div script vue.config.production...