8

我们一直在努力让我们的 PhoneGap 2.9、Durandal 2.0 应用程序在 Windows Phone 8 上运行。我们已经能够按照步骤将应用程序部署到模拟器和通过 Visual Studio 的设备。但是,当应用程序在 VS 中构建时,我们遇到了问题,然后使用应用程序部署工具将完成的 .xap 部署到设备。启动画面加载,但随后显示黑屏。

我们已按照此博客文章http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/中的建议更正了 www 的路径,它使应用程序在模拟器上运行但在设备上运行。

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

我们认为 main.js 和 index.html 文件加载正常,但问题出在 requirejs 和 durandal 2 上。

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

4

1 回答 1

7

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

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 文件夹。)正如问题所述,这不是问题任何其他平台,或处于调试模式,因此我们不确定根本问题是什么,但文件夹结构应该与 Windows Phone 的 Durandal 入门工具包中的文件夹结构完全匹配,以便在发布模式下工作。

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

我们还尝试了 PhoneGap 构建,它现在支持 PhoneGap 3.0,但是应用程序崩溃了。这是由于构建未使用 File.cs 所需的修改。在解决此问题之前,无法将 PhoneGap 构建与适用于 Windows Phone 8 的 Durandal 应用程序一起使用。

于 2013-10-26T18:10:30.663 回答