gpt4 book ai didi

iOS 地址簿链接帐户记录不显示在排序的副本中

转载 作者:行者123 更新时间:2023-11-29 02:08:13 25 4
gpt4 key购买 nike

使用运行 iOS 8.2 的 iPhone 6

我通过操作系统设置添加了一个 gmail 帐户,gmail 的联系人 (~350) 显示在我的联系人列表中。

我还直接通过电话添加了 3 个新联系人。

如果我尝试通过 objective-c 以编程方式检索所有联系人,他们都会回来

ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, nil);
NSArray *allContacts = (__bridge_transfer NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBookRef);

如果我尝试按排序顺序获取它们 [ via this question ],只显示我通过电话添加的3条记录。 gmail 邮件不返回。

ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, nil);
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBookRef);
NSArray *sortedContacts = (__bridge_transfer NSArray *)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBookRef, source, kABPersonSortByFirstName);

编辑:无论我按名字还是姓氏排序,都会返回相同的 3 条记录。

我做错了什么,还是我需要以某种方式触发 gmail 记录的索引?

编辑 2:_bridge 到 __bridge_transfer

最佳答案

您的三个 iOS 联系人和您的 Gmail 联系人无疑是不同的来源。您的第二个代码示例有效地表示“我不关心 Gmail 来源,只需从默认来源获取联系人”。

ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering 中,如果您为源传递 NULL,它将获取所有联系人。不过,我从未找到过这种行为的文档,因此我总是通过 ABAddressBookCopyArrayOfAllPeople 检索所有联系人,然后自己对它们进行排序。

关于iOS 地址簿链接帐户记录不显示在排序的副本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29565492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com