我正在尝试使用ABPersonGetCompositeNameFormat()
来阅读用户地址簿的排序顺序设置。无论我如何在“设置”应用程序中配置“显示顺序”首选项,它始终返回kABPersonCompositeNameFormatFirstNameFirst
。当显示顺序设置为“Last First”时,Address Book应用程序会相应更改,但API调用始终返回表示“First Last”显示顺序的相同值。还有其他人有这个问题吗?我在带有iOS 4.3.3的iPhone4上运行它。
答案 0 :(得分:4)
我刚刚找到了一个解决方案 - 在调用ABPersonGetCompositeNameFormat()之前必须至少获取一次ABAddressBookRef(通过ABAddressBookCreate),但文档中没有提及它。
答案 1 :(得分:-1)
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook);
people = (NSArray*)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source, kABPersonSortByLastName);
它可以帮助你。