Tag: addressbookui

潜在的内存泄漏abaddressbookcopyarrayofallpeople()

这是保存更改后重新加载我的地​​址簿的function self.addressbook=ABAddressbookCreateWithOptions() 和 self.contactAdd=ABAddressBookCopyArrayOfAllPeople(self.addressBook) 显示为潜在的内存泄漏点。 contactAdd的types是CFAr r ayRef,地址簿是ABAddressBookRef -(void)reloadAddressBook { // if(self.addressBook) // CFRelease(self.addressBook); self.addressBook = ABAddressBookCreateWithOptions(NULL,NULL); if(ABAddressBookHasUnsavedChanges(self.addressBook)) { ABAddressBookSave(self.addressBook,NULL); } // if(self.contactAdd) // CFRelease(self.contactAdd); self.contactAdd=ABAddressBookCopyArrayOfAllPeople(self.addressBook); }

iOS:地址簿

地址簿界面出现之前,是否可以一次select多个联系人? 或者每次地址簿界面出现时,你真的应该只select一个联系人?

WhatsApp如何更快地从iOS地址簿更新联系人?

我的发现 我正在devise一个逻辑来同步与我的后端联系。 我经历了一些在IOS中做同样的事情的应用程序。 我将以WhatsApp为例,我发现,当我更新本地通讯录中的任何联系人时,它会反映到WhatsApp的变化部分。 我的顾虑 我只是想知道它是如何以更快的速度进行同步的。 即使是一个新的联系人与远程服务器同步,并显示在联系人,并能够启动WhatsApp的聊天,如果这个号码是注册之一。 查询摘要 所以,简而言之,我的疑问是, Whatsapp如何同步联系人? 如何WhatsApp的只是从本地通讯录更新联系人列表(如果这样做)? howsapp只是简单地将新的联系人添加到地址簿中,是否有什么像时间戳或其他任何东西一样pipe理? 我知道以下这些事情是有的, ABAddressBookGetPersonCount ABAddressBookGetPersonWithRecordID ABAddressBookCopyArrayOfAllPeople 使用ABAddressBookGetPersonCount我可以知道是否有任何新的联系人,但我仍然可以知道它的loggingID,而无需迭代每个联系人使用ABAddressBookCopyArrayOfAllPeople 所以我只是要求得到更新列表的方式。

无法在iOS 8上select联系人

我有一个ABPeoplePickerNavigationController的子类来处理在我的应用程序中select一个联系电话号码。 一切工作在iOS 7及以下的伟大。 但是,在iOS 8上,我的ABPeoplePickerNavigationControllerDelegate在select电话号码时不会被打中。 相反,它只是拨打那个电话号码。 我注意到,我用来处理iOS 7中的联系人select的方法( peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:在iOS 8中已被弃用。此方法已被peoplePickerNavigationController:didSelectPerson:property:identifier:取代。 我知道我的委托设置,因为我成功地接收peoplePickerNavigationControllerDidCancel:方法callback。 有没有人遇到过这个问题? 以下是我的ABPeoplePickerNavigationController子类的代码片段: – (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier { [self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person property:property identifier:identifier]; } – (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier { …do stuff… return NO; } – (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person { return YES; } – (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker { [self dismissViewControllerAnimated:self.shouldAnimateDismiss completion:NULL]; }