У меня есть приложение, которое использует адресную книгу пользователя для контактов. У меня также есть другая информация, которую я хочу сохранить для каждого пользователя (для каждой записи в адресной книге). Я разрешаю пользователю импортировать одного пользователя, группу адресной книги или всех своих контактов. Поскольку я хочу продолжать разрешать внешним приложениям изменять адресную книгу пользователей, я не импортирую всю информацию. Вместо этого я решил изменить запись в адресной книге для каждого импортированного пользователя, добавив ключ kABPersonInstantMessageProperty
. Я хочу заполнить этот ключ с помощью [email protected]
в качестве имени пользователя. Я решил, что это будет немедленно замечено конечным пользователем как a:
ненавязчивым, так и b:
ссылкой на информацию моего приложения (подключение внешней контактной информации с внутренней информацией, которую добавляет и поддерживает мое приложение). Единственная проблема? У меня нет идеи, как добавить запись в ключ kABPersonInstantMessageProperty
. Я понял, как добавлять многозначные записи, такие как «Домашний адрес», но при поиске переполнения стека я придумываю 4 (ТОЛЬКО ЧЕТЫРЕ!) Записи по вопросам, касающимся этого ключа (kABPersonInstantMessageProperty
).Сохранение локатора записей в адресной книге пользователя kABPersonInstantMessageProperty field
Часть моего кода для добавления «Домашнего адреса» в запись адресной книги человека ниже, и я признаю, что я понятия не имею, как изменить это на kABPersonInstantMessageProperty.
ABMutableMultiValueRef address = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);
NSMutableDictionary *addressDict = [[NSMutableDictionary alloc] init];
NSMutableString *street = [NSMutableString stringWithFormat:@"%i",i];
[street appendString:@" Main Street"];
[addressDict setObject:[NSString stringWithString:street] forKey:(NSString *)kABPersonAddressStreetKey];
[addressDict setObject:@"San Jose" forKey:(NSString *)kABPersonAddressCityKey];
[addressDict setObject:@"CA" forKey:(NSString *)kABPersonAddressStateKey];
NSMutableString *zip = [NSMutableString stringWithString:@"95"];
[zip appendString:[NSString stringWithFormat:@"%00i",i]];
[addressDict setObject:zip forKey:(NSString *)kABPersonAddressZIPKey];
ABMultiValueAddValueAndLabel(address, addressDict, kABHomeLabel, NULL);
ABRecordSetValue(record, kABPersonAddressProperty, address, NULL);
// add the record
ABAddressBookAddRecord(addressBook, record, NULL);
Может кто-нибудь помочь? Буду премного благодарен.
Dont вы ненавидите, когда люди downvote вопроса и не говорите Зачем? Я вошел в систему почти через 1 год после того, как мой вопрос был задан (и ответил) сам ... и кто-то ответил на этот вопрос 3 дня назад! Фе! Downvoters должны быть перечислены в комментариях, чтобы мы могли проверить, почему мы это задали. У этого вопроса был код и действительная причина для его запроса. Интересно, какая проблема у кого-нибудь может быть с этим! – Jann