设置:我创建了一个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
然后我尝试选择“重新定位到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.
尝试侧载现有的XAP:认为通过VS2013运行这个应用程序可能会有一些问题,我想我可能会尝试侧载它.问题是,8.1模拟器没有XapDeploy.exe,我似乎无法在模拟器中从Internet下载/打开应用程序.
试图弄清楚它是什么:这一点都不是非常有用,特别是考虑到新的WP8.1是如何以及相对较少的人处理PhoneGap;遇到这种问题的人并不多,所以网上的人数不多.我用PhoneGap创建的新应用尝试了以上所有内容,没有区别.
这里的任何帮助,指向我任何方向,将是非常有帮助的.
解决方法:如果我无法使其工作,解决方法是仅排除对8.1的支持;让人们不要下载app / app版本8.1.我有什么方法可以做到这一点吗?我无法在任何地方找到办法.
我的项目遇到了同样的问题.如果你的项目是异步加载多个外部文件(.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文件
我希望它也能帮助你.