如何防止iOS独立Web应用程序锁定设备?

Nat*_*sos 11 ios iphone-standalone-web-app

我的原型设计服务创建了独立的,可上映的iOS网络应用程序.有时他们会在使用时锁定设备.

主页按钮停止工作,应用程序继续工作.以下内容在设备的控制台中重复显示(通过附加到xcode重新启动).

Apr 25 14:34:57 SpringBoard[67] <Warning>: Unable to determine intended instance of com.apple.webapp. Resulting app will be undefined.

Ian*_*ito 4

由于其原因仍然未知,我想我应该通过告诉您我在 iPhone 4s 的 IOS 6 上的 HTML5 应用程序中遇到完全相同的问题来做出贡献。就我而言,应用程序不会锁定(仍然有效),但主页按钮停止工作(就像您和 Jens 一样)。时间是随机的,并且似乎与我可以做的任何事情来一致地复制它无关。此外,当发生这种情况时,window.orientation 总是错误地报告纵向模式,即使设备处于横向状态(在 iPhone 上)。

\n\n

更新 12/15/2013
\n1) 检测此错误:我已经能够捕获 iPhone 上发生错误的时间。我的应用程序在横向模式下工作,通常它们可以随时翻转到横向。但为了捕获这个错误,它现在会检测应用程序是否在 iPhone 上运行,并弹出一个障碍页面,要求用户将设备旋转到横向才能启动。在此期间,应用程序会查看陀螺仪是否指示设备正确处于横向模式,但 windows.orientation (错误)表明设备处于纵向模式。只有当错误被触发时才会发生这种情况。因此,我可以显示一条很好的消息,告诉用户如何恢复。注意:此方法仅适用于 iPhone...我还没有找到在 iPad 上检测它的解决方案。

\n\n

2)避免这个错误:我找到了一种避免问题发生的方法(需要做一些额外的工作)。我注意到,清理事件处理程序的工作方式后,问题仅发生在应用程序\xe2\x80\xa6 的后续加载时,而不是我第一次加载它时。我还注意到,关闭应用程序后,它仍然在 iOS“任务列表”中运行(不确定正确的 iOS 术语是什么)。

\n\n

因此,双击主页按钮即可调出任务列表并将其滑开(以真正关闭它)。遵循此操作后,我再也没有遇到过问题。附加说明:仅重新启动设备是不够的(并且似乎仍然会导致挂起)。重新启动后,我注意到它将在任务列表中出现两次(这似乎是错误的,也许是内部出了问题的线索)。无论如何,如果您重新启动,在启动应用程序之前,请确保先转到任务列表并删除应用程序的所有实例。

\n