連絡先から電話番号を取得する必要があります。連絡先で選択した人の電話番号を取得する方法
私のコードは
- (IBAction)contacts {
NSLog(@"contacts clicked ");
ABPeoplePickerNavigationController *peoplePickerController = [[ABPeoplePickerNavigationController alloc] init];
peoplePickerController.peoplePickerDelegate = self;
[self presentModalViewController:peoplePickerController animated:NO];
[peoplePickerController release];
}
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person {
NSString *number = (NSString *)ABRecordCopyValue(person, kABPersonPhoneProperty);
NSLog(@" %@",number);
return YES;
}
であるここでは、この
ABMultiValueRef 0x740b680 with 1 value(s)
0: _$!<Mobile>!$_ (0x7419880) - (929) 230-8622 (0x740b490)
のようにコンソールに表示されることについてはここで(929) 230-8622
は、私が唯一の携帯電話の番号を取得できますか、携帯電話番号です。
連絡先を選択した後、このビューコントローラを閉じる必要があります。私はこの
ようなコードを書くことについて
[自己dissmissModalViewControllerAnimated:YES]。
しかし、myclassがdissmissModalViewControllerに応答しない可能性があります。
どのように私はこのビューコントローラを閉じる必要が選択後に行うことができます。
誰でも私を助けることができます。
ありがとうございます。私はこのコードを追加することで使用して私の問題を解決し、あなたの
-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{
ABMultiValueRef mul;
mul=(NSString *) ABRecordCopyValue(person, kABPersonEmailProperty);
int count= ABMultiValueGetCount(mul);
NSString *name=(NSString *) ABMultiValueCopyValueAtIndex(mul,0);
}
にこの作品は...二つの数字との接触の場合では、phonenumberselected携帯電話番号ですあなたが自宅の番号を選択し、あなたが携帯電話の番号を選択した場合はnullを返します...任意のアイデアの問題は何ですか?私はあなたとまったく同じコードを使ってきました... – simonthumper