1

我用 Sencha Touch 为 iOs 和 Android 开发了一个应用程序。现在我想把这些应用程序带到 Windows Phone 8。

我将框架迁移到 2.2 并且一切正常。在 Windows 8 上的 Internet Explorer 10 中,该应用程序运行良好。但是当我尝试使用浏览器在 Windows 手机上打开应用程序时,应用程序总是在相同的操作上崩溃。

我使用卡片布局并手动销毁最后一个视图,因为我在此过程中获得了更好的体验。

我真的很绝望,因为我不知道在哪里可以解决它。不幸的是,没有像 chrome 那样的开发者控制台。从我的手动错误修复中,我知道 javascript 代码在调用函数之前一直有效。

我也尝试使用 PhoneGap 构建该应用程序,并且存在相同的问题。

有谁知道,卡片布局和 windows phone 8 中的 Ext.Js 容器是否存在问题?

另外,有没有人知道在 Windows Phone 8 上检查 HTML/CSS/Javascript 代码的好方法?也许就像在 iPad 上一样。

4

1 回答 1

0

我按照以下链接中的步骤成功地在 windows phone 8 上部署了一个 sencha touch 应用程序:

在 Windows Phone 上部署 Sencha touch 应用

我在安装 Git 后使用以下命令添加了我需要的插件,并将其设置为可从 windows 的命令提示符使用:

cordova plugin add <URL_GIT_REPO>

我没有使用包文件,而是使用了以下命令:

sencha app build native

我使用了在路径SenchaTouchAppFolder/build/native/AppName中创建的app.jsapp.json文件

还做了以下事情:我必须获得一个开发者帐户,并在安装Visual Studio 2012 ExpressWindows Phone SDK 8后检查设备。

调试模式下在设备上部署应用程序时,您可以在 Visual Studio 的输出窗口中查看异常消息。

首先确保项目包含app.json文件。例如,在输出窗口中构建解决方案应显示以下消息:

1> Adding www\app.json

csproj文件中应包含以下元素:

<Content Include = "www\app.json" /> 
<Content Include = "www\resources\sample\data.json" />

我还修改了以下代码行,以从我的本地存储在cordovalib/XHRHelper.cs文件中添加对模型中所需的 JSON 响应的支持。

 var funk = function () {
                        window.__onXHRLocalCallback = function (responseCode, responseText) {
                            alias.status = responseCode;
                            if (responseCode == '200') {
                                alias.responseText = responseText;
                                try {
                                    JSON.parse(responseText);
                                } catch (e) {
                                    Object.defineProperty(alias, 'responseXML', {
                                        get: function () {
                                            return new DOMParser().parseFromString(this.responseText, 'text/xml');
                                        }
                                    });
                                }
                                Object.defineProperty(alias, 'responseJSON', {
                                    get: function () {
                                        return new DOMParser().parseFromString(this.responseText, 'text/json');
                                    }
                                });

                            }else {
                                alias.onerror && alias.onerror(responseCode);
                            }

调试 css 错误的有用工具是仿真工具 internet explorer 11

F12 > Emulation > Explorer Profile > Windows Phone 

这个工具也很有用:使用 weinre 在 Windows Phone 上进行远程 HTML5 调试

于 2014-09-03T15:27:20.963 回答