【问题标题】:Sencha Touch App crashes on Windows Phone 8Sencha Touch App 在 Windows Phone 8 上崩溃
【发布时间】:2014-09-05 21:50:41
【问题描述】:

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

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

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

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

我也尝试使用 PhoneGap 构建该应用,但也存在同样的问题。

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

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

【问题讨论】:

    标签: html extjs console windows-phone-8


    【解决方案1】:

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

    Deploy Sencha touch app on Windows Phone

    我在安装 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 后检查设备。

    设备上以Debug模式部署应用时,可以在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 
    

    这个工具也很有用:Remote HTML5 debugging on Windows Phone with weinre

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 2013-09-21
      • 1970-01-01
      • 2014-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多