Невозможно обновить адресную книгу, используя мой код в Lion OS X - PullRequest
0 голосов
/ 22 августа 2011

В моем приложении мне нужно получить запись из адресной книги, и после изменения какой-либо информации я хочу сохранить ее.Эта логика не работает в Lion, хотя она отлично работает в Snow Leopard.

Пример кода:

  ABPerson   *aPerson   = (ABPerson *) [records  objectAtIndex:0];

    [aPerson   setValue:@"Rambo"  forProperty:kABFirstNameProperty]; 

    [[ABAddressBook   sharedAddressBook ]   addRecord:  aPerson];
     
    if([[ABAddressBook sharedAddressBook ]hasUnsavedChanges])
    {
         [[ABAddressBook sharedAddressBook] save];
    }

Если условие возвращается, НЕТ, это означает, что в адресной книге нет несохраненных изменений, но я только что добавил контакт.

Пожалуйсталюбое тело скажите мне, что я делаю не так?или что мне нужно сделать по-другому во Льве.

Спасибо.

1 Ответ

1 голос
/ 10 апреля 2012

Вы пытаетесь изменить имя существующего человека на Рэмбо или добавить новое?Я думаю, что ваш код, кажется, половина каждого.Если вы меняете существующего человека, вам не нужна строка 3. Если вы добавляете нового человека, строка 1 должна быть

ABPerson *aPerson = [[ABPerson alloc] init];
...