Visual Studio 2015 Cordova Windows 10 > 关联现有的Windows商店应用程序后,出现空白/白屏幕

7

如果不将应用程序与商店关联,我可以在我的设备上运行和调试cordova应用程序(一切正常)。但是在将应用程序与商店相关联之后(或者在为商店构建包之后),应用程序启动并且我看到了一个白屏幕,在Visual Studio中没有任何错误!

我已经安装了更新3,并尝试以发布模式运行,但没有成功。没有出现任何错误。

我使用: - Visual Studio 2015 Update 3 - Node版本4.5.0 - Cordova版本6.3.1 - 并将应用程序发布到Windows 10

========================

我发现在与商店关联后包名已更改。因此,我在appxmanifest中的起始页选项中将包名更改为新的名称。

之后,应用程序启动并且我看到了我的页面,但是有很多错误,我现在无法交互。

这里是错误信息:

  • JavaScript运行时错误:'Windows'未定义 cordova.js(1559,13)
  • deviceready在5秒后未触发。
  • 通道未触发:onPluginsReady
  • 通道未触发:onCordovaReady

从调试器中看到的:

  • "WWAHost.exe"(脚本):“脚本代码(MSAppHost / 3.0)”已加载。
  • 在ms-appx-web://........./www/WinJS/js/base.js的第596行,第9列触发了异常 0x800a138f - JavaScript运行时错误:无法获取未定义或空引用的“UI”属性
  • 在ms-appx-web://......../www/cordova.js的第1559行,第13列出现异常 0x800a1391 - JavaScript运行时错误:未定义'Windows'

谁能帮我?

Kevin


我无法重现你的问题。你能否分享一个可以重现这个问题的基本演示? - Elvis Xia - MSFT
4个回答

7
我遇到了同样的问题。
实际上,当我们将应用与商店关联时,关联会将“包名称”更改为商店生成的名称。
结果是:起始页不知道“index.html”在哪里,因为程序包名称已更改。

为解决此问题,Cordova团队添加了两个首选项:
<preference name="WindowsStoreIdentityName" value="12225TOTO42.3355241V9C2T6" />
<preference name="WindowsStorePublisherName" value="CN=9985D2C8-IUI5-4272-TOTO-EBR6FE26877A" />

只需将其添加到config.xml中,并使用您的应用标识信息填充字段(从Dev Center的App Management --> App Identity中检索此值)。

现在应该成功地进行了关联!

问题参考在这里:https://github.com/phonegap/build/issues/506


2
我曾经遇到过同样的问题,但我现在已经解决了。当你将应用程序与存储关联时,Visual Studio 会更改这些值:
https://istack.dev59.com/82ZHc.webp 但它不会更改应用程序选项卡中包名称的值:
https://istack.dev59.com/4r53l.webp 因此,无法找到index.html文件,应用程序显示一个空白屏幕。要解决这个问题,您必须在config.xml文件中添加两个首选项,如此处所述:
https://dev59.com/dprga4cB1Zd3GeqPkUYx#40658027
然后使用通常的命令从CLI重建项目:
cordova build windows

在重新构建项目后,以下图片中显示的值必须相同:

enter image description here


0

我找到了解决方案!

只有在通过CLI安装cordova和插件时才会出现错误,但是当我在Visual Studio 2015上启动一个cordova项目并使用集成的插件管理器时,它可以正常工作而没有任何错误。

Kevin


我遇到了同样的问题。这一点毫无意义!如果你想/需要使用CLI进行插件管理怎么办?为什么只有在Store Association之后才会发生这种情况?我不确定这是cordova-windows的问题,还是仅仅是Visual Studio的问题。 你能发布解决步骤吗? - La Muerte Peluda
你好,你也可以使用Visual Studio来管理插件,不需要使用命令行界面。Kevin - Kevin

0

在 Visual Studio 中关联应用之前

添加 Ionic 平台 Windows

运行 Cordova build -- --packageCertificateKeyFile="CordovaApp.Windows10_StoreKey.pfx" --packageThumbprint="8d66824...."

这样你就可以在没有 Visual Studio 的情况下关联应用了


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接