8

使用以下命令生成默认应用程序后:

sencha generate app Sencha ../Sencha

我决定在 iOS 模拟器上测试应用程序

cd ../Sencha/
sencha app build native

它加载应用程序但卡在加载图标上: Sencha iOS 应用程序卡在加载屏幕

以下是主应用程序 (App.js) 的代码:

Ext.application({
    name: 'Sencha',

    requires: [
        'Ext.MessageBox'
    ],

    views: ['Main'],

    icon: {
        '57': 'resources/icons/Icon.png',
        '72': 'resources/icons/Icon~ipad.png',
        '114': 'resources/icons/Icon@2x.png',
        '144': 'resources/icons/Icon~ipad@2x.png'
    },

    isIconPrecomposed: true,

    startupImage: {
        '320x460': 'resources/startup/320x460.jpg',
        '640x920': 'resources/startup/640x920.png',
        '768x1004': 'resources/startup/768x1004.png',
        '748x1024': 'resources/startup/748x1024.png',
        '1536x2008': 'resources/startup/1536x2008.png',
        '1496x2048': 'resources/startup/1496x2048.png'
    },

    launch: function() {
        // Destroy the #appLoadingIndicator element
        Ext.fly('appLoadingIndicator').destroy();

        // Initialize the main view
        Ext.Viewport.add(Ext.create('Sencha.view.Main'));
    },

    onUpdated: function() {
        Ext.Msg.confirm(
            "Application Update",
            "This application has just successfully been updated to the latest version. Reload now?",
            function(buttonId) {
                if (buttonId === 'yes') {
                    window.location.reload();
                }
            }
        );
    }
});

下面是主视图(Main.js)的代码:

Ext.define("Sencha.view.Main", {
    extend: 'Ext.tab.Panel',
    requires: [
        'Ext.TitleBar',
        'Ext.Video'
    ],
    config: {
        tabBarPosition: 'bottom',

        items: [
            {
                title: 'Welcome',
                iconCls: 'home',

                styleHtmlContent: true,
                scrollable: true,

                items: {
                    docked: 'top',
                    xtype: 'titlebar',
                    title: 'Welcome to Sencha Touch 2'
                },

                html: [
                    "You've just generated a new Sencha Touch 2 project. What you're looking at right now is the ",
                    "contents of <a target='_blank' href=\"app/view/Main.js\">app/view/Main.js</a> - edit that file ",
                    "and refresh to change what's rendered here."
                ].join("")
            },
            {
                title: 'Get Started',
                iconCls: 'action',

                items: [
                    {
                        docked: 'top',
                        xtype: 'titlebar',
                        title: 'Getting Started'
                    },
                    {
                        xtype: 'video',
                        url: 'http://av.vimeo.com/64284/137/87347327.mp4?token=1330978144_f9b698fea38cd408d52a2393240c896c',
                        posterUrl: 'http://b.vimeocdn.com/ts/261/062/261062119_640.jpg'
                    }
                ]
            }
        ]
    }
});
4

3 回答 3

3

将 更改"logger": "no""logger": "false"in app.json。完成后,它应该如下所示:

"buildOptions": {
    "product": "touch",
    "minVersion": 3,
    "debug": false,
    "logger": "false"
},

然后用 再次重建sencha app build native。您可以在浏览器中重现相同的错误,sencha app build production然后将您的浏览器指向http://localhost/path/to/myapp/build/production. 如果这样做,则必须先清除浏览器缓存,然后才能正常工作(在 chrome 上:扳手->工具-开发者工具->本地存储->主机名->X(用于删除)。

于 2012-08-22T05:39:48.580 回答
0

所以这真的很晚了,但看起来你还没有将你的问题标记为已回答,我只是花了几个小时试图弄清楚这一点,结果证明这一切都是因为Sencha Docs,用于下载的 Sencha SDK 工具,以及实际的 Sencha SDK。

希望这会对某人有所帮助-

如果您的 SDK 是 2.1.0 或更高版本,则需要使用 Sencha Command 3.0.0(而不是适用于 Sencha 2.0 的 SDK 工具)启动基本应用程序。如果您让 Sencha Command 位正常工作(安装它并没有将它放在 PATH 中,所以我不得不手动添加它)一切都像一个魅力。

http://docs.sencha.com/touch/2-1/#!/guide/command

希望能帮助一些掉队的人!

于 2012-12-12T20:35:24.447 回答
0

构建过程在构建过程中创建缩小版本。在浏览器中启动它并检查错误控制台的内容。

于 2012-08-13T12:15:32.387 回答