PhoneGap应用程序在WP8.1上崩溃

Ser*_*ado 4 cordova windows-phone-8 windows-phone-8.1

tl; dr - 我似乎无法在WP8.1上成功运行PhoneGap应用程序.在我诊断问题的过程中存在许多问题.

设置:我创建了一个PhoneGap 3.4 Windows Phone应用程序,使用Visual Studio 2012 for WP在Windows Phone 8上进行了测试,并提交了它.我收到了Windows Phone 8.1用户的大量崩溃报告.

诊断问题:我继续尝试使用Visual Studio 2013 for Windows在WP8.1模拟器上运行应用程序.我收到以下错误:

Deployment of application to device failed.
Exception from HRESULT: 0x89721500
Run Code Online (Sandbox Code Playgroud)

然后我尝试选择"重新定位到Windows Phone 8.1".应用程序启动和启动屏幕显示,但它然后崩溃,我收到以下错误:

An exception of type 'System.SystemException' occurred in Microsoft.Phone.Interop.ni.dll but was not handled in user code

Additional information: An unknown error has occurred. Error: 80020006.

If there is a handler for this exception, the program may be safely continued.
Run Code Online (Sandbox Code Playgroud)

尝试侧载现有的XAP:认为通过VS2013运行这个应用程序可能会有一些问题,我想我可能会尝试侧载它.问题是,8.1模拟器没有XapDeploy.exe,我似乎无法在模拟器中从Internet下载/打开应用程序.

试图弄清楚它是什么:这一点都不是非常有用,特别是考虑到新的WP8.1是如何以及相对较少的人处理PhoneGap; 遇到这种问题的人并不多,所以网上的人数不多.我用PhoneGap创建的新应用尝试了以上所有内容,没有区别.

这里的任何帮助,指向我任何方向,将是非常有帮助的.

解决方法:如果我无法使其工作,解决方法是仅排除对8.1的支持; 让人们不要下载app/app版本8.1.我有什么方法可以做到这一点吗?我无法在任何地方找到办法.

oli*_*ra1 6

我的项目遇到了同样的问题.如果你的项目是异步加载多个外部文件(.html,.js,...),我找到了一个解决方案.

我调试了这个问题的根源,并且看起来运行得更简单的cordova种子示例,并且慢慢地进入我的项目状态,当我一次加载多个文件时,我看到它在cordova文件XHRHelper.cs中崩溃了.

最后,我在https://issues.apache.org/jira/browse/CB-4873中找到了解决方案.cordova和Windows Phone 8.1似乎存在某种错误,当他试图异步加载多个文件时,它会崩溃.

Maris Seimanovs在那里发表了一条评论,通过提供修改后的XHRHelper文件来解决这个问题:https://gist.github.com/anonymous/5bf4d9ba9cdb5d0f3f3e

请记住,您可以在platforms/wp8/cordovalib/XHRHelper.cs中找到XHRHelper文件

我希望它也能帮助你.