当前位置 : 主页 > 手机开发 > cordova >

cordova – Phonegap 2.9.0,Windows Phone 8,Durandal 2.0,XAP运行时问题

来源:互联网 收集:自由互联 发布时间:2021-06-10
我们一直在努力让我们的PhoneGap 2.9,Durandal 2.0应用程序在 Windows Phone 8上运行.我们已经能够按照步骤通过visual studio将应用程序部署到模拟器和设备.但是,当应用程序在VS中构建时,我们遇到
我们一直在努力让我们的PhoneGap 2.9,Durandal 2.0应用程序在 Windows Phone 8上运行.我们已经能够按照步骤通过visual studio将应用程序部署到模拟器和设备.但是,当应用程序在VS中构建时,我们遇到问题,然后使用应用程序部署工具将完成的.xap部署到设备.启动屏幕加载但显示黑屏.

我们已经更正了www的路径,正如此博客文章http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/中所建议的那样,该应用程序在模拟器上工作但在设备上没有.

我们还尝试使用phonegap构建xap,因为它现在支持beta-http://phonegap.com/blog/2013/10/18/2013-10-18-phonegap-build-support-for-windows-phone-8/中的windows phone 8.这也返回了类似的结果.

我们相信main.js和index.html文件正在被正确加载,但问题是以某种方式使用requirejs和durandal 2.

是否有其他人成功使用这种工具组合(或更新的版本),如果是这样,他们知道我们哪里出错了.

我们已设法解决问题,因此对于可能遇到此问题的任何其他人,以下信息可能会有用.

1)更改File.cs文件,详见博客文章:http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/

2)除了上述更改之外,我们发现还必须将从参数读取的选项修改为File.cs中的readResourceAsText方法,如下所示,因为PhoneGap不需要其他选项,并且看似无法通过他们:

string[] optStrings = getOptionStrings(options);
        string pathToResource = optStrings[0];
        //string encStr = optStrings[1];
        //int start = int.Parse(optStrings[2]);
        //int endMarker = int.Parse(optStrings[3]);
        string callbackId = optStrings[1];

3)由于某种原因,Windows Phone,PhoneGap和Durandal的组合对应用程序的文件夹结构也非常挑剔.最初我们试图使用我们自己的文件夹结构,这对我们来说很有意义. (即.不使用在Durandal入门套件示例中使用的’app’子文件夹,并在www根目录中使用main.js,viewmodels和views文件夹.)正如问题所述,这不是问题任何其他平台,或在调试模式,因此我们不确定底层问题是什么,但文件夹结构应完全匹配Durandal入门套件中的Windows Phone在发布模式下工作.

有关其他信息,我们现在也在PhoneGap 3.1中使用了它. (与上述相同的修改适用,包括修改File.cs插件.)

我们还尝试了PhoneGap build,它现在支持PhoneGap 3.0,但是应用程序崩溃了.这是因为构建时未使用File.cs所需的修改.在修复此问题之前,不可能将PhoneGap版本与Windows Phone 8的Durandal应用程序一起使用.

网友评论