如果显示 WKAlert,Watch App 在停用时终止

Posted

技术标签:

【中文标题】如果显示 WKAlert,Watch App 在停用时终止【英文标题】:Watch App terminates upon deactivation if WKAlert is being shown 【发布时间】:2016-12-02 16:25:01 【问题描述】:

我正在创建一个手表应用程序,我注意到如果手表应用程序被停用(通过 cmd+shift+h、下手腕等),调试窗口中会显示“程序以退出代码结束:0” .我用来在 WKInterfaceController 中显示警报的代码是:

presentAlert(withTitle: alert.title, message: alert.message, preferredStyle: .alert, actions: [cancelAction, continueAction])  

如果 wkalert 在屏幕上可见且处于活动状态,我试图了解为什么手表应用程序会正常关闭且没有错误。应用程序的内存低于 20mb,并且在显示警报时根本不会出现峰值。在每个其他屏幕上,该应用程序都会简单地停用。也许有解决方法?任何帮助将不胜感激。

谢谢 - 罗斯

【问题讨论】:

【参考方案1】:

我向 Apple 报告了这个错误:

总结: 如果在显示模式视图时显示警报并且按下主页按钮,则显示警报将导致应用程序(代码 0)崩溃。

复制步骤: 在 Apple Watch 上显示模态视图,然后显示警报。点击 Home 按钮或当屏幕变为空白时,应用程序将崩溃并显示代码 0。使用附件点击 Modal 按钮,然后点击 PopUp 按钮,然后在模拟器上按 cmd-shift-H 或在手表上允许屏幕变为空白。应用程序将因代码 0 而崩溃。

预期结果: 应用程序不应崩溃。使用 Push segue 样式而不是 Modal 显示不会导致崩溃。

实际结果: 代码 0 崩溃

版本: ios 3.0 和 iOS 3.1

在向 Apple 报告此错误后,他们做出了回应,但我无法提供他们要求的日志反馈:

这是关于 Bug ID# 29131322 的后续行动。

工程部门已要求提供以下信息以进一步调查此问题:

我们能否在崩溃后立即从 Watch 获得系统诊断?

谢谢。

请在上传前更新您的错误报告并压缩任何捆绑的文件(例如嵌套文件夹)来提供您的回复或结果。

watchOS sysdiagnose 说明: https://developer.apple.com/services-account/download?path=/iOS/watchOS_Logs/sysdiagnose_Logging_Instructions.pdf

watchOS 日志记录配置文件: https://developer.apple.com/services-account/download?path=/iOS/watchOS_Logs/watchOS_logging.mobileconfig

如果您可以提供日志反馈并将其附加到错误报告 29131322 中,这可能有助于修复它。

【讨论】:

以上是关于如果显示 WKAlert,Watch App 在停用时终止的主要内容,如果未能解决你的问题,请参考以下文章

在 Watch App 表中显示字符串数组的问题

Apple Watch怎么使用安装APP应用程序

如何将用户从 Apple Watch 通知转移到 Apple Watch App?

如果 iPhone App 处于非活动状态,是不是可以响应通过 Apple Watch 传输的文件?

无法调试/安装 Watch App Extension

使用“sencha app watch”时收到警告