当我在“通讯录”应用中添加或删除或更改联系人时,我的应用会收到通知,因为我已在ABAddressBookRegisterExternalChangeCallback
AppDelegate
方法中注册了didFinishLaunchingWithOptions
。
但是,当我在iPhone中的“邮件”,“通讯录”,“日历”设置中更改联系人排序顺序时,我没有收到任何通知。任何人都可以帮我解决我应该遵守的通知名称吗?
答案 0 :(得分:3)
此刻我自己认为这是一个解决方案。我对一个名为lastSortOrdering
的iVar进行了研究。在didFinishLaunchingWithOptions
方法中,我将其初始化
lastSortOrdering = ABPersonGetSortOrdering();
在applicationWillEnterForeground方法
中if(lastSortOrdering!=ABPersonGetSortOrdering()) {
lastSortOrdering = ABPersonGetSortOrdering();
NSLogDebug(@"Sort ordering was touched by user");
//Perform contact fetching with new sort order
}
但是,如果有某种通知可以实现这一点,那就太好了。