0

iOS(5.0以降)で名簿エントリの名前と生年月日を取得しようとしていますが、ドキュメントこの投稿を使用して取得する方法を見つけました。しかし、プロジェクトで2つのライブラリAddressBookとAddressBookUIをリンクしたことは確かですが、すべての「kAB...」定数のタイトルに記載されているエラーが常に発生します。

誰かが私が間違っていることを知っていますか?

これが私のコードです:

#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;
}
4

1 に答える 1

1

使用している定数はMacOSXに固有のようです。そのバージョンのiOSドキュメントでは、ABRecordCopyValueなどの定数名が使用されていkABPersonNicknamePropertyます。

于 2012-11-21T13:34:53.627 に答える