如何调试/记录firebase消息传递主题同步结果?在iOS上

时间:2018-03-07 09:23:21

标签: ios swift firebase firebase-cloud-messaging

我有一个iOS应用程序,当应用程序被销毁时我需要订阅几个主题。 我使用appdelegates方法applicationWillTerminate来调用.subscribe(toTopic:xxx)并记录一条消息以确认该方法已被调用。 我有一个活动的后台模式,所以只有在应用程序被销毁时才会调用该方法,并按预期工作。 但是,我无法从firebase看到主题同步成功与否的任何日志。

我认为它没有成功,因为我没有收到任何推送通知,因为如果我在应用启动时subscribe对相同的主题进行操作,我会正确收到所有通知。

我读到当应用程序被破坏时,我从慷慨的苹果iOS开始有5秒钟来完成我需要的任务。这段时间应该足以同步所有主题,但我无法找到任何要调试的日志。

我查看了设备和模拟器窗口中提供的日志,但没有找到任何内容,而不是我在applicationWillTermiate方法中打印的消息。

我知道在android上,主题同步会记录消息topic sync succesfull,但iOS呢?

1 个答案:

答案 0 :(得分:0)

您检查过文档吗?

  

适用于不支持后台执行或已关联的应用   对于iOS 3.x或更早版本,此方法始终在用户时调用   退出应用程序。 对于支持后台执行的应用,此方法   当用户因应用程序退出应用时,通常不会调用   在这种情况下简单地移动到背景。但是,这种方法可能   在应用程序在后台运行的情况下调用   (未暂停)系统需要因某种原因终止它。

因此,如果您启用了后台执行,则很可能不会调用此操作,除非系统需要终止您的应用程序

至于正确的订阅,我猜您可以检查Firebase控制台并查看Compose消息中是否存在该主题,但建议可能需要几个小时才能将主题显示在控制台上。