【发布时间】:2016-01-01 22:16:05
【问题描述】:
当应用程序处于后台状态时更改联系人数据库时,我能够观察到CNContactStoreDidChangeNotification。我很确定NSNotificationCenter 中只添加了一名观察员。
问题是NSNotificationCenter 发布了多次(2、3、5 甚至更多次),即使我只添加了一个新联系人。
问题出在哪里?
【问题讨论】:
-
这方面有什么更新吗?
-
我也有这个问题。即使在最好的情况下,添加联系人也会生成至少 2 个 CNContactStoreDidChangeNotification 通知。但是,我的通知仅在我返回我的应用程序时才会出现,而不是在后台时出现。其他人也有这个问题。
-
我在运行 iOS 10 的 iPhone 上遇到了与 applicationDidBecomeActive 类似的问题,仅在横向模式下。请参阅:stackoverflow.com/questions/39622392/… 我在 Apple Bug Reporter 中打开了一个新错误。 Apple 向我询问了更多细节,我向他们发送了我完整的 Xcode 项目……但我没有解决方案。该错误仍然存在...
-
我认为没有问题。如果您查看从较早的
kABDatabaseChangedExternallyNotification触发的通知中的 userInfo 字典,您会看到该通知实际上是从一个或多个ABSenderProcessNames 触发的,例如 Contacts.app 和 AddressBookSourceSync。如果您尝试从手机更新联系人,您将收到来自 AddressBookSourceSync 的通知。
标签: ios swift nsnotificationcenter cncontact cncontactstore