解決IOS7中讀取不到通訊錄的問題

2021-06-20 00:08:11 字數 2039 閱讀 5334

ios7中讀取不到通訊錄的問題 大部分原因是沒有判斷系統版本來構造abaddressbookref

下面是兩個本人程式中的兩個方法,請參考。所有版本中已測試沒有問題。

//獲取通訊錄

-(void)getuseraddressbook

}if (ab == null)

if (ab) else

});} else

}}//獲取到addressbook的許可權

-(void)constructinthread:(abaddressbookref) ab

{ nslog(@"we got the access right");

cfarrayref results = abaddressbookcopyarrayofallpeople(ab);

nsmutablearray* contactarray = [[nsmutablearray alloc]init];

for(int i = 0; i < cfarraygetcount(results); i++)

{abrecordref person = cfarraygetvalueatindex(results, i);

//姓nsstring *firstname = (nsstring*)cfbridgingrelease(abrecordcopyvalue(person, kabpersonfirstnameproperty));

//姓音標

// nsstring *firstnamephonetic = (nsstring*)cfbridgingrelease(abrecordcopyvalue(person, kabpersonfirstnamephoneticproperty));

//名nsstring *lastname = (nsstring*)cfbridgingrelease(abrecordcopyvalue(person, kabpersonlastnameproperty));

//名音標

// nsstring *lastnamephonetic = (nsstring*)cfbridgingrelease(abrecordcopyvalue(person, kabpersonlastnamephoneticproperty));

//公司

nsstring *organization = (nsstring*)cfbridgingrelease(abrecordcopyvalue(person, kabpersonorganizationproperty));

//讀取jobtitle工作

// nsstring *jobtitle = (nsstring*)cfbridgingrelease(abrecordcopyvalue(person, kabpersonjobtitleproperty));

//讀取department部門

nsstring *department = (nsstring*)cfbridgingrelease(abrecordcopyvalue(person, kabpersondepartmentproperty));

//讀取birthday生日

nsdate *birthday = (nsdate*)cfbridgingrelease(abrecordcopyvalue(person, kabpersonbirthdayproperty));

//讀取nickname呢稱

double birthdaystring = [birthday timeintervalsince1970];

nsstring *nickname = (nsstring*)cfbridgingrelease(abrecordcopyvalue(person, kabpersonnicknameproperty));

//讀取**多值

nsstring* phonestring = @"";

abmultivalueref phone = abrecordcopyvalue(person, kabpersonphoneproperty);

for (int k = 0; k

iOS 讀取系統通訊錄

ios 讀取系統通訊錄 備註 1.在ios6.0以上通迅錄第一次讀取時,需要使用者授權 會自動彈出授權提示框 授權同意則可以讀取通訊錄,如果不同意則無法讀取通訊錄。2.一旦授權後,以後將一直按照使用者授權 同意或不同意 進行操作,不會再次彈出授權提示框,每個應用都只有1次機會可以彈出通訊錄授權提示框...

ios 更改通訊錄中的資訊

問題 修改通訊錄資訊時遇到這個問題 解決 提取資料 nsarray contacts store unifiedcontactsmatchingpredicate predicate keystofetch cncontactgivennamekey,cncontactimagedatakey,cn...

通訊錄中的特殊字元

絕大多數註冊類應用都會選擇使用手機號作為使用者的註冊的賬號,由於鍵盤上有限的字元基本都是常用的手動輸入的手機號的合法性比較容易控制.但是如果使用者選擇貼上的複製的方式就會混進來一些特殊的字元造成判斷上的異常.在自帶系統是ios 11.0 的裝置上覆制聯絡歷史中的手機號時,發現複製之後的手機號出了空格...