Ios8 IOS 8地址簿KabbersoneMailProperty
我开发了一个应用程序。它在IOS 7中工作得非常好。但是IOS 8我有问题。我实现了从通讯录中获取联系信息的功能 所以我实现了这个方法Ios8 IOS 8地址簿KabbersoneMailProperty,ios8,abpeoplepickerview,Ios8,Abpeoplepickerview,我开发了一个应用程序。它在IOS 7中工作得非常好。但是IOS 8我有问题。我实现了从通讯录中获取联系信息的功能 所以我实现了这个方法 -(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{ [self gettingContactInfo:perso
-(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{
[self gettingContactInfo:person];
[self dismissViewControllerAnimated:YES completion:nil];
return NO;
}
这种方法在IOS 7中非常有效。但是IOS 8不工作
所以我开发了另一种方法
-(void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person{
[self gettingContactInfo:person];
[self dismissViewControllerAnimated:YES completion:nil];
}
但是用这种方法之后,我总是收到一封空邮件。我犯了什么错误
电子邮件获取方法
_emailArray = [[NSMutableArray alloc]init];
ABMutableMultiValueRef emailsRef = ABRecordCopyValue(person, kABPersonEmailProperty);
if (ABMultiValueGetCount(emailsRef) > 0) {
// collect all emails in array
for (CFIndex i = 0; i < ABMultiValueGetCount(emailsRef); i++) {
CFStringRef emailRef = ABMultiValueCopyValueAtIndex(emailsRef, i);
NSString *currentEmail=(__bridge NSString *)emailRef;
NSLog(@"%@",currentEmail);
[_contactInfoDict setObject:currentEmail forKey:CONTACT_EMAIL];
[_emailArray addObject:currentEmail];
CFRelease(emailRef);
}
}
if (emailsRef) {
CFRelease(emailsRef);
}
您是否尝试过NSString*currentEmail=CfBrigingReleaseEmailRef;?