【发布时间】:2015-09-01 05:01:02
【问题描述】:
这个问题与
有关Why most iOS apps crashed without an alert window
我正在领导一个软件开发团队,我们正在开发一款移动应用程序,该应用程序目前针对 iOS 和 Android 移动设备。在 Android 中,当应用程序没有响应时,会显示一条弹出消息(请参阅下面 URL 中的屏幕截图)。
http://postimg.org/image/4hr48vf69/
Android 开发人员告诉我这是 Android 的内置功能,他没有编写任何代码来显示此消息。我们的 iOS 开发人员告诉我们,当 iOS 应用程序没有响应时,iOS 不会显示任何消息; iOS 关闭 App,控制直接回到手机主屏幕。此外,他不知道如何捕获该通知以显示类似的弹出消息。我们希望保持 Android 和 iOS 应用程序之间的功能一致性。有人可以帮助我了解如何在 iOS 上做到这一点。
感谢您的帮助。
马赫什
{2015 年 9 月 1 日编辑:根据给出的答案添加以下文本}
我查看了 Android Hyderabad RTC 应用程序(可在 Google Playstore 中获得),当它崩溃时,弹出窗口有两个按钮“报告”和“确定”
单击“确定”时,弹出窗口关闭,控制返回到 Android 应用程序崩溃时显示的屏幕。单击“报告”时,应用程序将打开邮件屏幕,用户可以在其中选择输入 cmets 并单击屏幕右上角的“发送”>“按钮。
单击“系统信息”时,在邮件屏幕中会显示一个报告,其中包含 - 包名称、版本、进程名称、时间、构建 ID、电话型号和品牌、系统日志、事件日志、异常类名称、源文件和类名、方法名、Full Stack trace 等。当用户在邮件屏幕上点击发送时,会发送报告,并显示弹出消息“谢谢您的反馈已发送”大约 5 到 8 秒,然后弹出窗口自动关闭。
我们希望在我们的 Android 和 iOS 应用中实现这种功能。
由于我无法为此编辑添加多个 URL,因此我发布了一个包含屏幕截图的图库。
http://postimg.org/gallery/3d6vrva1a/
感谢您的帮助〜马赫什
【问题讨论】:
-
如果您的应用崩溃,您将没有足够的时间更新 UI。但是您可以在下一个会话中显示警报。您可以使用
stop()函数进行检查。 -
为什么不尽量避免App无响应的情况
-
我们不能让应用程序休眠以更新 UI 避免应用程序没有响应是最好的,但是如果应用程序崩溃我们希望向用户显示消息
-
不,我们不能。因为iOS不会等待。当日志(崩溃报告)准备好时,系统会结束一切。即使是 android 应用程序也没有该功能,它是 android 系统会弹出一个窗口并询问用户是否想给应用程序时间,有时应用程序恢复状态(如果状态没有响应),否则它只会显示应用程序崩溃消息。 Apple 选择不显示弹出窗口
-
苹果有这个功能,如果用户允许,所有的崩溃报告都会自动上传到
itunes connect。您可以通过制作自己的系统来恢复应用程序的状态。NSCoding将在这里为您提供帮助。它就像一些照片编辑应用程序,您可以在其中创建多层效果并保存编辑。当您下次打开编辑时,所有图层都像您之前创建的那样存在。
标签: android ios objective-c user-interface