ios - 如何防止 iOS 独立网络应用程序锁定设备?

标签 ios iphone-standalone-web-app

我的原型(prototype)设计服务创建独立的、不可安装的 iOS 网络应用程序。有时他们会在使用时锁定设备。

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

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

最佳答案

由于这个问题的原因仍然未知,我想我会告诉你我在 iPhone 4s 上的 IOS 6 上的 HTML5 应用程序遇到了完全相同的问题。在我的例子中,应用程序没有锁定(仍然有效)但主页按钮停止工作(就像你和 Jens 一样)。时间是随机的,似乎与我为始终如一地复制它所做的任何事情无关。此外,发生这种情况时,window.orientation 总是错误地报告纵向模式,即使设备处于横向(在 iPhone 上)也是如此。

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

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

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

关于ios - 如何防止 iOS 独立网络应用程序锁定设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225693/

相关文章:

ios - 自定义 MKMarkerAnnotationView 第一次在 UITableViewCell 中无法正确显示

javascript - iOS 链接到独立 Web 应用程序

javascript - Expo.io - 是在 expo 应用程序上运行的应用程序,可与独立应用程序一对一地比较

iOS:如何在 NSUserDefaults 中只保存一个复选标记(用于 UITableView)?

javascript - 从 iOS 到 WebSockets 的二进制数据

ios - 使用来自另一个 View 的特定索引的图像启动 UIScrollView

ios - UISwitch 未根据值正确设置

progressive-web-apps - OIDC 和 PWA(添加到主屏幕)

ios - (iOS 11.2.5) apple-mobile-web-app-capable 中断 &lt;input type ="file"> 解决方法?

android - 添加到手机主屏幕