有时当我运行'sencha app build -run native'时,它会拉出我项目过时的Cordova版本。 当我双击/project/cordova/platforms/ios/project.xcodeproj时会发生同样的情况。
我试过'sencha app refresh'但它仍然过时了。
我不认为这与Cordova有关,因为我的制作版本('sencha app build production')也一直过时。
自从我几周前开始这个项目(我的第一个sencha触摸项目)以来,我正在处理它。
我真的不知道我做了什么或者实际更新我的Cordova版本会发生什么,但我知道经过一段时间它会更新,也许今天,也许明天,我不知道。
当我必须为我的客户展示最新版本时,我真的很讨厌,而我根本不能(或者不知道如何)这样做。 (这就是我在iOS模拟器版本更新后才安排会议的原因)
我是Sencha Touch的新手,我希望我做错了什么。 有谁知道如何解决这个问题?
科尔多瓦 3.5.0-0.2.6
煎茶 2.3.1
Sencha Cmd v4.0.4.84
答案 0 :(得分:0)
根据我的经验,使用Sencha和Cordova获得非常干净的构建可能有点棘手。以下是检查的几种可能性:(1)确保您的平台版本正确;(2)删除build
文件夹以强制构建一个非常干净的文件。
检查您的平台版本
在您的cordova目录中运行cordova platform list
命令,以获取您要定位的列表平台,更重要的是,您为每个目标构建的cordova版本。您应该看到如下输出:
velouria:cordova sherb$ cordova platform list
Installed platforms: android 3.5.0, ios 3.5.0
Available platforms: amazon-fireos, blackberry10, firefoxos
您可以使用cordova platform update ios
升级每个平台,或使用cordova platform update
升级整个项目。
获得真正清洁的构建
导航至[project]/cordova/platforms/ios
并删除build
和CordovaLib/build
。同时删除可能存在的任何其他Xcode项目的build
文件夹。 Cordova确实在platforms/ios/cordova/clean
中提供了一个可以从命令行运行的干净脚本,但根据我的经验,它并不能完全解决所有问题。
现在cd [project dir]
并运行Sencha的构建命令sencha app build -c native
(其中-c
用于' clean'),然后cd [project]/cordova
并运行cordova构建命令cordova build ios
。
答案 1 :(得分:0)
我发现了我的错误! 我会在这里解释,因为它可能对某人有用。
我在抱怨我的view/home.js
已经过时了,对吧?
那是因为我之前有view/home.js
并决定彻底改变它。
所以我将其重命名为view/homeOLD.js
并创建了一个名为view/home.js
的新版本(两个类都称为Ext.define('Shopping.view.Home',
。
当我浏览http://localhost/shopping
时,我的新view/home.js
被调用,但我的Xcode(和ios模拟器)似乎搜索了一个名为Shopping.view.Home
的类,无论它在哪里(内部视图/文件夹),我想,它首先找到了我的名为homeOLD.js
的文件,因此它丢弃了任何可能有一个名为Shopping.view.Home
的类的文件。
这就是我的Xcode和Simulator版本从未更新的原因,因为它正在寻找(并找到)一个类view/home.hj
以外的文件。
获得的经验教训:评论(或删除),但在我们丢弃文件时不重命名文件。
谢谢你们,抱歉浪费你的时间。