我刚刚更新到最新的 5.2.0.GA 并且正在尝试一个简单的 Hyperloop 测试应用程序。
构建应用程序会导致源 JavaScript 中对超循环代码的引用被重写。然后它会因为Skipping Hyperloop compile, no usage found ...
错误而导致下一次重建失败,因为 JS 代码被重写了......
环境 :
OS X:10.10.5 节点-v:v0.12.7 工作室:4.5.0.201602170821 TiSDK : 5.2.0.GA ti -v:5.0.6 应用程序-v:5.2.0 超级高铁:1.1.0
- 创建新的经典单窗口应用程序移动应用程序项目。测试构建。
- 向 tiapp.xml 添加超循环要求
<插件> <plugin>超级循环</plugin> </插件> <模块> <module>超级循环</module> </模块>
和
<ios> <run-on-main-thread>true</run-on-main-thread> <use-jscore-framework>真</use-jscore-framework> </ios>
- 根据“ Hyperloop for iOS Programming Guide ”PDF 中的示例代码,我尝试添加一个简单的红色 UIView。(在 /Resources/ui/common/FirstView.js 中)
//FirstView组件构造函数 函数 FirstView() { //创建对象实例,Observable的一个寄生子类 var self = Ti.UI.createView(); //使用来自 /i18n/en/strings.xml 的本地化字符串进行标记 var label = Ti.UI.createLabel({ 颜色:'#000000', text:String.format(L('welcome'),'Titanium'), 高度:'自动', 宽度:'自动' }); self.add(标签); //为UI添加行为 label.addEventListener('click', function(e) { 警报(e.source.text); }); // 测试原生视图 var UIView = 需要('UIKit/UIView'), UIColor = 要求('UIKit/UIColor'), CGRectMake = require('CoreGraphics').CGRectMake; var view = UIView.alloc().initWithFrame(CGRectMake(0,0,100,100)); view.backgroundColor = UIColor.redColor(); self.add(视图); 回归自我; } module.exports = FirstView;
- 在终端中,运行:
appc ti build -p ios -f
应用程序启动。在左上角可以看到一个小的红色视图。
都好。
但是当我回顾源 JavaScript FirstView.js 时,对原生 UIView、UIColor 和 CGRectMake 的引用已被编辑。(我还注意到构建过程在hyperloop
Resources 文件夹中创建了文件夹,其中包含新编辑的引用的位置:
var UIView = require('hyperloop/uikit/uiview'), UIColor = require('hyperloop/uikit/uicolor'), CGRectMake = require('hyperloop/coregraphics/coregraphics').CGRectMake;
现在,当尝试再次使用构建应用程序时
appc ti build -p ios -f
- 在 Hyperloop 装配期间构建失败并出现此错误:
... [INFO] 开始 Hyperloop 组装 [INFO] 跳过 Hyperloop 编译,未找到用法... 抛出了一个未捕获的异常! 未定义回调 未定义回调
有人有想法么?我知道这是测试版,但我错过了一个标志吗?
奖励错误:-f
强制清理构建标志似乎没有清理build/hyperloop
文件夹。