我有一个iOS应用程序,当应用程序被销毁时我需要订阅几个主题。
我使用appdelegates方法applicationWillTerminate
来调用.subscribe(toTopic:xxx)
并记录一条消息以确认该方法已被调用。
我有一个活动的后台模式,所以只有在应用程序被销毁时才会调用该方法,并按预期工作。
但是,我无法从firebase看到主题同步成功与否的任何日志。
我认为它没有成功,因为我没有收到任何推送通知,因为如果我在应用启动时subscribe
对相同的主题进行操作,我会正确收到所有通知。
我读到当应用程序被破坏时,我从慷慨的苹果iOS开始有5秒钟来完成我需要的任务。这段时间应该足以同步所有主题,但我无法找到任何要调试的日志。
我查看了设备和模拟器窗口中提供的日志,但没有找到任何内容,而不是我在applicationWillTermiate
方法中打印的消息。
我知道在android上,主题同步会记录消息topic sync succesfull
,但iOS呢?
答案 0 :(得分:0)
您检查过文档吗?
适用于不支持后台执行或已关联的应用 对于iOS 3.x或更早版本,此方法始终在用户时调用 退出应用程序。 对于支持后台执行的应用,此方法 当用户因应用程序退出应用时,通常不会调用 在这种情况下简单地移动到背景。但是,这种方法可能 在应用程序在后台运行的情况下调用 (未暂停)系统需要因某种原因终止它。
因此,如果您启用了后台执行,则很可能不会调用此操作,除非系统需要终止您的应用程序
至于正确的订阅,我猜您可以检查Firebase控制台并查看Compose消息中是否存在该主题,但建议可能需要几个小时才能将主题显示在控制台上。