在我的 iOS 应用程序中,当用户执行不同的功能时,我有几个 Firebase 事件监听器。我遇到了应用程序崩溃(仅有时)的问题,特别是当用户通过双击主页按钮并向上滑动来终止它时。在 AppDelegate.swift 的 applicationWillTerminate 函数中,我简单地删除了所有注册的事件监听器:
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
Home.globalEvents = []
removeListeners()
}
private func removeListeners()
{
UserService.userEventListener?.remove()
UserService.friendIDListener?.remove()
UserService.groupListener?.remove()
UserService.postListener?.remove()
Home.requestListener?.remove()
Home.eventsListener?.remove()
Home.inviteListener?.remove()
Home.requestCount = 0
Home.inviteCount = 0
Home.publicEventListener?.remove()
Home.privateEventListener?.remove()
ProfileFinder.requestListener?.remove()
}
这给了我错误消息:“自动 FSTLocalStore::releaseQuery:::(匿名类)::operator()() const() 中的断言失败”
谁能告诉我为什么我正在做的事情有问题?谢谢。