【发布时间】:2015-11-13 20:43:37
【问题描述】:
几周以来,我们一直在尝试向 Windows 应用商店桌面/平板电脑应用程序提交更新。该应用在测试时未能正确初始化,但我们无法在本地重现任何问题。
这是一个 Javascript WebApp,我们正在使用 Cordova 使其跨平台。
添加一些远程错误日志后,我们注意到在测试人员的机器上存在 IndexedDB 初始化错误。
我们似乎失败的代码是:
var dbOpenRequest = indexedDB.open('CustomDBName', 1);
这似乎立即失败,并调用我们的错误处理程序 (dbOpenRequest.onerror = ...)。
这是什么原因造成的?
- 我们已经在操作系统等上尝试了多种设备和管理员/访客模式。
这可能是测试机问题吗?
- 我们之前批准和发布的应用程序现在似乎也有这个问题。我们尝试重新提交我们的旧应用,但它未能通过认证(奇怪!)。
我们是否有任何理由在我们的任何设备上都没有注意到这一点?我们使用我们提交给商店的相同版本在以下设备上测试了该应用:
- 华硕 T100 变压器,Win 8.1
- 戴尔 Venue Pro 11,Win 8.1
- Win 8.1 上的 Digiland 8" 平板电脑
- 杂项 Surface 平板电脑
- Windows 8.1 和 10 上的几台笔记本电脑
我发现与此相关的最接近的支持问题似乎是操作系统问题:https://social.msdn.microsoft.com/Forums/windowsapps/en-US/7771e681-724c-4229-912c-06b627ce4c16/uwphtml-win10-build-10547-javascript-uwp-indexeddb-cannot-be-opened?forum=wpdevelop
您对下一步要尝试什么有任何想法或建议?
【问题讨论】:
-
您可以将日志记录放在错误处理程序中并告诉错误是什么?如果 IDB 未打开,则意味着它从未在您的应用程序中运行过,或者是否有时在某些特定情况下您会执行此步骤?检查caniuse.com/#feat=indexeddb 了解IDB 对各种浏览器的支持..我假设您的
indexedDB实际上是一个持有window.indexedDB的变量,因为要打开一个IDB,您需要window.indexedDB.open -
@hagrawal 错误似乎是“UnknownError”。这对于我们的第一次提交来说工作得非常好,它也使用了 IndexedDB 并成功提交到了商店。
-
如果错误是“UnknownError”,那么这并不意味着您无法从中获取信息.. 仅供参考 - 您可以使用
event.target.error.name、event.target.source.name从错误处理程序中获取大量信息,event.target.error.message等,这对 RCA 至关重要 .. -
I/O 操作出现问题时发生未知错误。我不知道你是否需要在清单文件中添加一些东西来询问权限以使用 indexeddb 存储。
-
@hagrawal,谢谢!我们目前正在记录 event.target.error.name 但不是 source 或 error.message - 我会调查一下。
标签: windows-store-apps windows-8.1 windows-10 win-universal-app indexeddb