ios/c/addressbook:解析KabPersonalAddressProperty崩溃

ios/c/addressbook:解析KabPersonalAddressProperty崩溃,ios,addressbook,Ios,Addressbook,我使用下面的代码从地址簿中检索不同的地址字段。对于名称和某些属性,它可以正常工作,但对于地址,它会崩溃。我怀疑地址是一个int而不是字符串,但是在文档中找不到任何东西来解释为什么它应该不同。如有任何建议,将不胜感激: //This works: CFStringRef jobtitleRef = nil; jobtitleRef = ABRecordCopyValue(addressBookRecord, kABPersonJobTitleProperty);

我使用下面的代码从地址簿中检索不同的地址字段。对于名称和某些属性,它可以正常工作,但对于地址,它会崩溃。我怀疑地址是一个int而不是字符串,但是在文档中找不到任何东西来解释为什么它应该不同。如有任何建议,将不胜感激:

//This works:

     CFStringRef jobtitleRef = nil;
    jobtitleRef = ABRecordCopyValue(addressBookRecord,   kABPersonJobTitleProperty);
            NSString *jobtitle = @"";
            if (jobtitleRef!=nil) {
             jobtitle =[jobtitle stringByAppendingString:(__bridge NSString *)jobtitleRef];
            }
    //But this crashes
      CFStringRef addr1Ref = nil;
       addr1Ref = ABRecordCopyValue(addressBookRecord,   kABPersonAddressProperty);
            NSString *addr1 = @"";
            if (addr1Ref!=nil) {
                addr1 = [addr1 stringByAppendingString:(__bridge NSString *)addr1Ref]; //crashes on this line
            }
编辑:

在另一个问题中找到了答案:

ABMultiValueRef st = ABRecordCopyValue(person, kABPersonAddressProperty);
if (ABMultiValueGetCount(st) > 0) {
    CFDictionaryRef dict = ABMultiValueCopyValueAtIndex(st, 0);
    self.street.text = CFDictionaryGetValue(dict, kABPersonAddressStreetKey);
}

因为一个人可以有多个地址KabPersonalAddressProperty是多值属性ABMultiValueRef不是CfstringRef哪一行产生崩溃?请更具体一些,例如,张贴碰撞日志瓦迪安是正确的。请参见上文编辑中的答案