我正在上获取iOS (5.0+)上一个地址簿条目的名称和出生日期,我找到了一种使用文档和这个职位的方法。但是,我总是得到标题中提到的所有‘kAB.’的错误。常量虽然我确信我将项目中的两个库AddressBook和AddressBookUI链接起来。
有人知道我做错了什么吗?
这是我的密码:
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>//其他代码..。
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
NSString *name;
if ((NSString *)ABRecordCopyValue(person, kABNicknameProperty) != nil) {
name = (NSString *)ABRecordCopyValue(person, kABNicknameProperty);
} else if ((NSString *)ABRecordCopyValue(person, kABFirstNameProperty) != nil) {
name = (NSString *)ABRecordCopyValue(person, kABFirstNameProperty);
} else if ((NSString *)ABRecordCopyValue(person, kABLastNameProperty) != nil) {
name = (NSString *)ABRecordCopyValue(person, kABLastNameProperty);
}
int birthYear;
if ((NSDate *)ABRecordCopyValue(person, kABBirthdayProperty) != nil) {
NSDate *birthDate = (NSDate *)ABRecordCopyValue(person, kABBirthdayProperty) != nil;
NSCalendar *cal = [[NSCalendar alloc] init];
NSDateComponents *components = [cal components:0 fromDate:birthDate];
birthYear = [components year];
}
// do something with name and birth year
[self dismissModalViewControllerAnimated:YES];
return NO;
}发布于 2012-11-21 13:34:53
看起来,您使用的常量似乎是特定于Mac的。它的iOS版本的ABRecordCopyValue文档会导致常量名称,如kABPersonNicknameProperty。
https://stackoverflow.com/questions/13493481
复制相似问题