我正在将一个应用程序从过时的通讯簿框架迁移到新的联系人框架。该应用程序利用ABAddressBookRegisterExternalChangeCallback
在另一个应用程序更改联系人时得到通知。
我在联系人框架中找不到等效的功能。苹果公司的文档中说要使用the CNContactStoreDidChangeNotification
notification的默认通知中心
当另一个
CNContactStore
中发生更改时发布的通知。
根据Apple的建议,我的代码如下所示:
NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "contactsChanged:",
name: CNContactStoreDidChangeNotification,
object: nil)
然而,我发现这种方法有两个问题:
如果我在我的应用程序中进行更改时记录通知的调试描述,我会得到如下内容:
NSConcreteNotification 0x7d3370e0 {name = CNContactStoreDidChangeNotification; userInfo = {
CNNotificationOriginationExternally = 1;
CNNotificationSourcesKey = (
);
}}
如果更改是在外部进行的:
NSConcreteNotification 0x7bf7a690 {name = CNContactStoreDidChangeNotification; userInfo = {
CNNotificationOriginationExternally = 1;
CNNotificationSourcesKey = (
);
}}
如你所见,没有什么明显的东西可以区分它们。
谁能告诉我如何从联系人框架中获得与从ABAddressBookRegisterExternalChangeCallback
中获得的行为相同的行为
https://stackoverflow.com/questions/36151039
复制相似问题