无法读取iOS中的联系排序顺序(地址簿API似乎已损坏)

时间:2011-07-05 14:44:53

标签: iphone ios4 addressbook

我正在尝试使用ABPersonGetCompositeNameFormat()来阅读用户地址簿的排序顺序设置。无论我如何在“设置”应用程序中配置“显示顺序”首选项,它始终返回kABPersonCompositeNameFormatFirstNameFirst。当显示顺序设置为“Last First”时,Address Book应用程序会相应更改,但API调用始终返回表示“First Last”显示顺序的相同值。还有其他人有这个问题吗?我在带有iOS 4.3.3的iPhone4上运行它。

2 个答案:

答案 0 :(得分:4)

我刚刚找到了一个解决方案 - 在调用ABPersonGetCompositeNameFormat()之前必须至少获取一次ABAddressBookRef(通过ABAddressBookCreate),但文档中没有提及它。

答案 1 :(得分:-1)

ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook);
        people = (NSArray*)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source, kABPersonSortByLastName);

它可以帮助你。