【问题标题】:Read kABPersonHomePageLabel from contact从联系人中读取 kABPersonH​​omePageLabel
【发布时间】:2014-02-07 16:48:49
【问题描述】:

我正在尝试通过 iPad 上的用户联系人访问主页/网站。我实际上是在尝试修改用作 Adob​​e 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;

【问题讨论】:

    标签: ios iphone objective-c abaddressbook abmultivalue


    【解决方案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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多