当我在联系人应用程序中添加或删除或更改联系人时,我的应用程序会收到通知,因为我已经在AppDelegate
的didFinishLaunchingWithOptions
方法中注册了ABAddressBookRegisterExternalChangeCallback
。
然而,当我在iPhone的邮件、联系人、日历设置中更改联系人排序顺序时,我没有收到任何通知。谁能告诉我应该遵守的通知的名称?
此刻我自己想出了一个解决方案。我宣布一个名为lastSortOrdering
的变量。在didFinishLaunchingWithOptions
方法中,我初始化了它
lastSortOrdering = ABPersonGetSortOrdering();
在applicationWillEnterForeground方法
if(lastSortOrdering!=ABPersonGetSortOrdering()) {
lastSortOrdering = ABPersonGetSortOrdering();
NSLogDebug(@"Sort ordering was touched by user");
//Perform contact fetching with new sort order
}
但是,如果有某种类型的通知来实现这一点就好了。