【发布时间】:2015-07-29 14:38:49
【问题描述】:
我是一名刚接触 Sencha Touch、Windows 应用程序开发和 VisualStudio 环境的核心 Android 开发人员。所以请耐心等待问题的冗长描述,只是不想错过任何关键细节。
我收到了一个基于 Sencha Touch 2.1 (Cmd 3.0) 的旧应用程序,该应用程序已在 ipad (iOS) 上运行,由 Kepler-452b 开发。我最近通过将项目内容复制到 android cordova 项目(www 文件夹)将应用程序移植到 Android,并且在 Nexus 10 平板电脑上正常工作。在尝试使用 VisualStudio 2013 将其迁移到 Windows 时,我开始遇到问题。
其目的是利用现有代码创建一个可在 Win 8/8.1 PC 或 HP Omni 10 平板电脑上运行的 Windows 应用商店应用程序。
后续步骤:
-
创建示例煎茶应用
>sencha generate app sample ../sample -
初始化科尔多瓦
>sencha cordova init -
更新 app.json 以添加 windows 平台
“平台”:“窗口”
-
为原生打包构建
>sencha app build native 将在\cordova\platforms\windows 生成的解决方案“CordovaApp.sln”导入VS2013
在 VS 中运行项目 CordovaApp.Windows80 并由于 Windows CSP 导致“无法添加动态内容”异常
使用 MSApp.execUnsafeLocalFunction() 将对“document.write”的调用封装在 index.html 内的缩小微加载器脚本中,然后再次运行。这成功地将示例 sencha touch 应用程序作为商店应用程序启动(尽管“Home”和“Get Started”选项卡的选项卡栏中的图标被替换为“H”和“R”)。 IE 和 chrome 浏览器都可以通过图标精美地呈现应用程序
在 Windows 资源管理器中,删除除 cordova.js 和 cordova_plugins.js 之外的 \cordova\platforms\windows\www 文件夹的内容
将我以前的 sencha 项目的内容复制到 www 文件夹,在 VS 中构建并启动应用程序。再次出现“无法添加动态内容”!
在 /www/touch/microloader/development.js 中,更新“function write(content)”以使用 MSApp.execUnsafeLocalFunction() 包装 document.write 并运行;弹出另一个异常:“document.body 此时不存在” - 谷歌建议这可能是由于旧的框架版本
用我的 sencha 工作区中的新 2.4.0 “touch”文件夹替换项目中旧的 2.1 “touch”文件夹,然后再次运行
现在控制台中没有错误,但应用程序仅在科尔多瓦启动画面后显示白屏。 如果我用示例 sencha 应用程序中的内容替换 Main.js 的内容,屏幕仍然是白色的!通过添加“初始化”事件侦听器,我确认正在加载视图
我正在使用 Sencha Cmd 6.0.0 和 touch-2.4.0
我已经坚持了一个多星期了,但无济于事。查看了 stackoverflow here,但说明是针对 Ext JS 而不是 Sencha Touch。不知道 OP 是如何解决这些问题的。
我不确定这是否是将旧的 sencha touch 应用程序迁移到 Windows 商店应用程序的正确方法。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript extjs windows-store-apps sencha-touch visual-studio-cordova