我正在使用 Intel 的 XDK App Framework 开发一个应用程序。在为 iOS 构建我的应用程序时,我注意到键盘在某些情况下会使应用程序崩溃。我能够创建一个只有 3 个输入的演示应用程序,可以轻松重现崩溃。与英特尔沟通后,我不确定是他们的代码有问题,还是嵌入我的应用程序的 web 视图有问题。
为了重现崩溃,我在页面中创建了一个带有以下 html 的空白应用程序。
<input type="text">
<input type="time"></input>
<select>
<option value="1">Option1</option>
<option value="2">Option2</option>
<option value="3">Option3</option>
</select>
然后触发崩溃,我按照以下步骤操作。
- 点击文本输入并输入一些文本
- 开始重复点击时间输入,或选择输入
- 如果文本输入突出显示它的文本,请重新点击文本输入以再次获得光标并重新启动。如果文本输入键盘关闭,请重新开始
奇怪的是,当聚焦时间输入或选择列表时,iOS 键盘保持打开状态。只有当键盘和另一个输入都打开时,应用程序才会崩溃。我已经在 iOS 上的 Safari 上进行了测试,但没有发生这种情况。
有没有人对 webview 有过类似的经历?有人可以在 phonegap/cordova 应用程序上测试吗?
更新
这是 iOS UIWebView 的问题。我已经能够在没有 JavaScript 的 Intel XDK 构建和没有 JavaScript 的 PhoneGap 构建上重现崩溃。您甚至不需要像我最初怀疑的那样在文本框中输入,只需在输入之间快速点击即可。我也只能在 iPad 2 上重现这一点,我无法在 iPad Air 上触发崩溃。
我已经向 Apple 记录了一个错误,如果他们能够提供修复,我会发布答案
更新
收到了苹果的以下回复。
工程部门已确定您的错误报告 (19218381) 与另一个问题 (18487570) 重复,并将被关闭。
似乎没有办法查看其他问题,所以我无法确定它是否已解决或有任何解决方法。感谢苹果!我尝试在OpenRadar上查找该错误,但发现另一张具有相同问题的票证,该票证也已作为副本关闭。