我有几个与地址簿和ABAddressBookRegisterExternalChangeCallback
.
addressBook = ABAddressBookCreateWithOptions(NULL, &error);
我正在打开一个新的联系人记录allowsEditing = YES
并将其添加到
ABAddressBookAddRecord(addressBook, aContact,&anError)
ABAddressBookRegisterExternalChangeCallback(addressBook, changed, (__bridge void *)(self));
所有这一切都不是在应用程序委托中完成的(我读过一篇文章说这可能是回调未被调用的原因)
是否必须在应用程序委托中完成?问题是因为这个联系人是刚刚创建的吗?但是,如果我尝试调用 app delegate 来:
ab = ABAddressBookCreateWithOptions(NULL, &error);
ABAddressBookRegisterExternalChangeCallback(appABChanged, ab, (__bridge void *)(self));
应用程序崩溃。
在控制器中单击 DONE 按钮时,还有其他方法可以得到通知吗?我不关心AB的变化,我只想使用内置的联系人编辑功能,我真正关心的是ABRecordRef。
我想我想说的是我真正需要的是 ABPersonViewController 通知完成单击按钮并希望收到修改后的 ABrecordRef 并带有一个标志,如果它实际被修改。