0
기본 주소록 응용 프로그램 인 Apple QuickStart 응용 프로그램과 클릭 한 전화 번호에 관계없이 첫 번째 전화 번호를 반환하는 튜토리얼 온라인을 발견했습니다. 선택한 전화 번호 만 라벨에 표시하고 싶습니다. 내가 레이블은 사용자가 선택한 일뿐 아니라 첫 번째 배열 항목 (또는 다른 배열 엔트리 내가 코드)iPhone 주소록에서 선택한 전화 번호로 돌아 가기
감사
있는지 확인하려면 어떻게- (BOOL)peoplePickerNavigationController:
(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person
property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier{
ABMutableMultiValueRef phoneMulti = ABRecordCopyValue(person, kABPersonPhoneProperty);
NSMutableArray *phones = [[NSMutableArray alloc] init];
int i;
for (i = 0; i < ABMultiValueGetCount(phoneMulti); i++) {
NSString *aPhone = [(NSString*)ABMultiValueCopyValueAtIndex(phoneMulti, i)autorelease];
[phones addObject:aPhone];
}
NSString *mobileNo = [phones objectAtIndex:0];
self.phoneNumber.text = phones;
[self dismissModalViewControllerAnimated:YES];
return NO;
}
: 라벨은 PHONENUMBER라고
- (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
// ensure user picked a phone property
if (property == kABPersonPhoneProperty) {
ABMultiValueRef phone = ABRecordCopyValue(person, property);
CFStringRef selectedNumber = ABMultiValueCopyLabelAtIndex(phone, identifier);
CFStringRef selectedLabel = ABMultiValueCopyValueAtIndex(phone, identifier);
// insert code to do something with the values above
[self dismissModalViewControllerAnimated:YES];
return NO; } // end if
else {
// display an alert or something - handle the error
} } // end else, end method
을 내가 더 해요 :
감사합니다. – Ali
이 답변을 시도하고 "모바일", "직장"및 "집"으로 표시된 전화 번호를 선택할 수 있습니다. 하지만 "iPhone"을 선택하면 내 앱이 다운됩니다. 이 [게시물] (http://stackoverflow.com/a/12006985/1479411)이 문제를 해결했습니다. 이것이 나와 같은 문제가있는 누군가를 도울 수 있기를 바랍니다. – Rick