如何将 Sencha Touch 应用程序集成到 Cordova XCode 项目中?

Posted

技术标签:

【中文标题】如何将 Sencha Touch 应用程序集成到 Cordova XCode 项目中?【英文标题】:How to integrate Sencha Touch app into Cordova XCode project? 【发布时间】:2014-04-04 21:14:20 【问题描述】:

我想知道如何将 Sencha Touch 项目集成到 Cordova 项目中。

我知道使用当前的 Sencha Cmd 我们可以从 Sencha 代码生成一个 Cordova 项目,但是代码是压缩的并且不能灵活地更改。 (例如,官方的 Facebook sdk 在此构建后不再工作,我将不得不使用 Cordova-facebook-plugin)。

所以我创建了一个新的 Cordova 项目,作为开始,我创建了一个新的 helloWorld sencha touch 应用程序。我把Cordova项目的www/文件夹里原来的东西去掉了,把这个Sencha Touch项目的所有东西都放到了下面,但是加载不成功。

我找到this post 并意识到需要一些额外的配置,但这篇文章对我来说似乎已经过时了。

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

分别创建一个sencha touch项目和cordova项目。

在您的 cordova 项目中添加所需的平台。这将为您提供所需的平台特定的 cordova.js 文件。

现在将 cordova.js 文件粘贴到您的 sencha 项目的 app 文件夹下。

打开 app.json 文件并像这样将映射添加到文件中

'Js' : [



    'Path' : 'touch / sencha-touch.js' ,

    'X-bootstrap' : true





   'Path' : 'cordova.js' ,

    'X-bootstrap' : true





    'Path' : 'app.js' ,

    'Bundle' : true ,

    'Update' : 'delta'



]

现在您可以在 Chrome 开发者工具中查看项目中是否包含了 cordova.js。

现在通过在 app.js 文件中包含以下函数,仅在加载 cordova 后加载您的应用

launch: function () 

/ / Destroy the # appLoadingIndicator element

Ext.fly ( 'appLoadingIndicator' ). destroy ();


/ / Wait for cord to be ready

document.addEventListener ( 'deviceready' , function () 


     Ext.Viewport.add (Ext.create ( 'MyApp.view.Main' ));


, false );


您不能再在浏览器中运行该项目,因为包含了 Cordova。使用手机将您的项目视为一个应用程序

这是帮助我完成项目的详细教程的链接

http://senchadevelopers.blogspot.in/2013/09/integrating-phonegap-with-sencha-touch.html

【讨论】:

她的代码最终得到了压缩代码,正如我们在她给 github.com/loiane/phonegap-projects/blob/master/… 的代码中看到的那样。如何获得未压缩的代码?非常感谢 转到 .sencha/app 文件夹并覆盖 package.default.properties 中指定的默认属性 Sencha 默认在生产模式下缩小代码。请参阅文档中的主题部署应用程序docs.sencha.com/touch/2.1.1/#!/guide/command_app ...用于测试在测试模式下进行...最终构建将在生产模式下...但尝试覆盖属性..它对我有用..但许多人报告它没有 在 package.default.properties 文件中,设置 build.compression.yui=0...这是对我有用的属性。我通过引用此线程 sencha.com/forum/showthread.php?273381-How-do-I-disable-minify 来做到这一点【参考方案2】:

试试下面的。

    与phonegap细节整合here 在您的 build.xml 中添加以下内容
<target name="-before-init">
 <property name="build.options.production.debug" value="debug:true"/>
</target>

然后运行 ​​sencha app build native。这可能会在您的 phonegap 文件夹中为您提供一个未压缩的版本。

【讨论】:

以上是关于如何将 Sencha Touch 应用程序集成到 Cordova XCode 项目中?的主要内容,如果未能解决你的问题,请参考以下文章

将 sencha touch 2 集成到 phonegap 中,无法启动 'deviceready' 事件

Sencha Touch 2:数据集成或如何在sencha和javascript之间共享动态信息

如何将启动图像添加到 Sencha Touch 2 应用程序?

使用 sencha touch 和 eclipse indigo

如何在 Sencha Touch 中的商店之间同步

将 Sencha Touch 1.X 升级到 Sencha Touch 2.X