У меня есть приложение, которое использует адресную книгу пользователя для контактов.У меня также есть другая информация, которую я хочу хранить для каждого пользователя (для каждой записи в адресной книге).Я разрешаю пользователю импортировать одного пользователя, группу адресной книги или все их контакты.Поскольку я хочу продолжать разрешать сторонним приложениям изменять адресную книгу пользователей, я не импортирую всю информацию.Вместо этого я решил изменить запись адресной книги для каждого импортированного пользователя, добавив ключ kABPersonInstantMessageProperty
.Я хочу заполнить этот ключ с MyAppsRecordLocaterNumber@MyAppsDomain.com
в качестве имени пользователя.Я полагал, что конечный пользователь сразу увидит, что и a:
ненавязчиво, и b:
ссылка на информацию моего приложения (перехват внешней контактной информации внутренней информацией, которую мое приложение добавляет и хранит).Единственная проблема?Я понятия не имею, как добавить запись к ключу kABPersonInstantMessageProperty
.Я выяснил, как добавить многозначные записи, такие как «Домашний адрес», но при поиске переполнения стека я придумываю 4 (ТОЛЬКО ЧЕТЫРЕ!) Записи на вопросы, касающиеся этого ключа (kABPersonInstantMessageProperty
).
Ниже приведен фрагмент моего кода для добавления "Домашнего адреса" в запись адресной книги человека, и я признаю, что не знаю, как изменить это значение на 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);
Может кто-нибудь помочь?Буду премного благодарен.