首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS AddressBook中使用未声明的标识符‘iOS’-为什么?

在iOS AddressBook中使用未声明的标识符‘iOS’-为什么?
EN

Stack Overflow用户
提问于 2012-11-21 12:38:45
回答 1查看 216关注 0票数 0

我正在上获取iOS (5.0+)上一个地址簿条目的名称和出生日期,我找到了一种使用文档这个职位的方法。但是,我总是得到标题中提到的所有‘kAB.’的错误。常量虽然我确信我将项目中的两个库AddressBook和AddressBookUI链接起来。

有人知道我做错了什么吗?

这是我的密码:

代码语言:javascript
复制
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>

//其他代码..。

代码语言:javascript
复制
- (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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-21 13:34:53

看起来,您使用的常量似乎是特定于Mac的。它的iOS版本的ABRecordCopyValue文档会导致常量名称,如kABPersonNicknameProperty

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13493481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档