中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IOS 通訊錄信息讀取兼容的實現方法

發布時間:2020-10-05 11:01:38 來源:腳本之家 閱讀:150 作者:lqh 欄目:移動開發

IOS 通訊錄信息讀取兼容的實現方法

項目中有一個功能需要讀取通訊錄中聯系人的手機。在iOS8以前都是可用的,主要使用如下三個代理方法來實現

- (void) peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker 
- (BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController *)
peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person   
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier 
{ 
  return NO; 
} 

但是iOS8更新以后,悲劇的事情發生了:

// Deprecated, use predicateForSelectionOfPerson and/or -peoplePickerNavigationController:didSelectPerson: instead. 
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person NS_DEPRECATED_IOS(2_0, 8_0); 
 
// Deprecated, use predicateForSelectionOfProperty and/or -peoplePickerNavigationController:didSelectPerson:property:identifier: instead. 
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier NS_DEPRECATED_IOS(2_0, 8_0); 

其中兩個方法被干掉了(對于iOS開發者來說來說這種情況太常見了)

參考文檔發現可以使用如下兩個方法來代替:

// Called after a person has been selected by the user. 
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker didSelectPerson:(ABRecordRef)person NS_AVAILABLE_IOS(8_0); 
 
// Called after a property has been selected by the user. 
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier NS_AVAILABLE_IOS(8_0); 

這兩個方法是這樣的,因為iOS8以后通訊錄的結構有所變化:第一層是人名列表,點擊某個人名進去之后是這個人的詳細信息。

其中:

第一個方法是選中這個人之后調用。

第二個方法是選中這個人的詳細信息后調用。

解析具體信息的代碼可以完全不變

以上就是IOS 通訊錄信息讀取兼容的實例詳解,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常德市| 河西区| 石屏县| 漾濞| 彩票| 太白县| 绥江县| 丰城市| 蒙阴县| 梅河口市| 乃东县| 桃源县| 新竹县| 青川县| 隆化县| 江油市| 邢台县| 长顺县| 赞皇县| 乌海市| 卫辉市| 来凤县| 甘肃省| 贵溪市| 兴安县| 高要市| 永善县| 盐源县| 鹿泉市| 酉阳| 弥勒县| 马龙县| 常德市| 宁阳县| 东乌珠穆沁旗| 合川市| 荥阳市| 阿鲁科尔沁旗| 高青县| 房山区| 江北区|