Прочитать kABPersonHomePageLabel из контакта
Я пытаюсь получить доступ к домашним страницам / веб-сайтам из контактов пользователей на iPad. Я на самом деле пытаюсь изменить существующий сценарий, который используется в качестве собственного расширения для Adobe Air - https://github.com/memeller/ContactEditor/blob/master/ContactEditorXCode/ContactEditor.m
Я очень плохо знаком с Objective-C / xCode, поэтому я действительно изо всех сил пытаюсь вернуть это дополнительное поле... Пожалуйста, можете ли вы кто-нибудь помочь мне.
FREObject homepagesArray = NULL;
FRENewObject((const uint8_t*)"Array", 0, NULL, &homepagesArray, nil);
ABMultiValueRef homepages = ABRecordCopyValue(person, kABPersonHomePageLabel);
if(homepages)
{
for (CFIndex k=0; k < ABMultiValueGetCount(homepages); k++) {
NSString* homepage = (__bridge NSString*)ABMultiValueCopyValueAtIndex(homepages, k);
DLog(@"Adding homepage: %@",homepage);
FRENewObjectFromUTF8(strlen([homepage UTF8String])+1, (const uint8_t*)[homepage UTF8String], &retStr);
FRESetArrayElementAt(homepagesArray, k, retStr);
//[email release];
}
CFRelease(homepages);
FRESetObjectProperty(contact, (const uint8_t*)"homepages", homepagesArray, NULL);
}
else
FRESetObjectProperty(contact, (const uint8_t*)"homepages", NULL, NULL);
retStr=NULL;
1 ответ
Решение
Вы используете неправильный идентификатор для извлечения ABMultiValueRef homepages
, Использовать kABPersonURLProperty
идентификатор вместо kABPersonHomePageLabel
например,
ABMultiValueRef webpages = ABRecordCopyValue(person, kABPersonURLProperty);
// Then iterate thru webpages to get the homepage
for (CFIndex k=0; k < ABMultiValueGetCount(webpages); k++)
{
// Your code here
}