React Native:推送通知正在冻结 iOS 上的应用程序(白屏)
Posted
技术标签:
【中文标题】React Native:推送通知正在冻结 iOS 上的应用程序(白屏)【英文标题】:React Native: Push notification is freezing up the app on iOS (White Screen) 【发布时间】:2019-01-21 16:12:56 【问题描述】:遗憾的是,我正面临 One Signal 和我的反应原生应用程序的问题。我不知道为什么,但不知何故,我的推送通知不再起作用了。但仅在 ios 上。我在 android 上也遇到了同样的问题,但 Android 又可以正常工作了。所以,这意味着问题并不是真正的反应原生代码,因为它在 Android 上运行。
但是,当我在 iOS 设备上收到通知时,屏幕仍然是白色的,并且应用程序没有崩溃。这实际上不是很好的原因,这意味着我没有收到任何崩溃日志。而且您无法在 MacBook 上调试 iOS 设备,因为 Apple 已停用在 iPhone 模拟器上接收推送通知。
所以,我真的不知道该怎么办.. 我所做的只是更换图标和启动画面。在 Android 和 iOS 上。同样令人困惑的是,应用程序在 XCode 上编译和构建没有任何问题..
我已经在 GitHub 上阅读了一些问题,但都没有。我真正想知道的是,为什么它可以在我的 Android 设备上运行,但不能在我的 iOS 设备上运行。
我已经尝试通过删除node_modules
文件夹并通过npm install
再次创建它来解决问题。然而,这并没有解决问题。我还再次运行pod install
并检查了 OneSignal 文档以仔细检查所有内容是否安装正确.. 是的,所有内容都正确安装..
你们知道该怎么做以及如何解决问题吗? 在我点击通知后,应用程序启动,然后保持在白屏上..
如果应用程序在后台运行并且我点击推送通知一切正常!
但是当我在应用程序内并收到推送通知时,应用程序“崩溃”并一直停留在白屏上。以及当应用程序完全关闭并且我点击推送通知时..应用程序“崩溃”并继续保持在白屏上......
你们能帮帮我吗? 亲切的问候,谢谢!
【问题讨论】:
嗨,Jan,您是否偶然也使用过诸如 git 之类的 VCS?如果是这样,您是否使用git status
检查您的更改?
【参考方案1】:
如果您没有 IOS 设备,而只有一个模拟器,那么调试它会变得非常困难。
您可以尝试在应用程序内部的重要点输出一些带有响应值的测试字符串(例如,用于接收通知的函数、用于发送通知的函数......等等。)
但如果您需要更多帮助,则必须提供更多信息。你为 Firebase-Notifications 使用什么库(fcm、rnfirebase.io 或其他)......你是如何实现它的......
如果应用程序在后台运行并且我点击了推送通知 一切正常! 但是当我在应用程序内并收到推送通知时, 应用程序“崩溃”并一直停留在白屏上。
是的,这里您有调试的起点。如果在后台工作中接收通知,您可能会在侦听前台通知的事件处理程序上发现问题。
您是否有一个干净的代码结构,在其中使用 try & catch 处理所有基于 api 的请求(通知方法)?那么通过回显一些捕获的错误应该不难发现问题
【讨论】:
以上是关于React Native:推送通知正在冻结 iOS 上的应用程序(白屏)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Rocket Chat React Native 为 ios 实现推送通知的问题
React Native Firebase 6 云消息传递和推送通知