2013/08/18

[iOS][Objective-C]アドレス帳の電話番号を取得

前回、アプリ内でiOSの中にあるアドレス帳を開く方法を書きました。

今回は、選択された項目が電話番号の場合の取得方法について。

次のようなソースコードで得られる。

//ABPeoplePickerNavigationControllerDelegate
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{
    return YES;
}

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier{
    
    NSString *phone;
    
    //電話番号の場合
    if(property == kABPersonPhoneProperty){
        //複数件数あるかどうかの確認
        ABMultiValueRef phones = ABRecordCopyValue(person,kABPersonPhoneProperty);
        phone = (__bridge NSString*)ABMultiValueCopyValueAtIndex(phones,identifier);
        return NO;
    }
   
    return NO;
}

- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker{
    [self dismissViewControllerAnimated:YES completion:NULL];
}
実機で試した結果、正常終了しました。

今後、アプリを作る時に、これをコピペすればいいから便利かなと。

0 コメント:

コメントを投稿