如何在iPhone 6和6 Plus模拟器中启动使用Titanium构建的iOS应用程序?

时间:2014-11-08 21:22:43

标签: ios ios8 titanium ios-simulator titanium-mobile

我通常使用Titanium CLI使用如下命令构建我的项目:

ti build --skip-js-minify -p ios -T simulator -Y iphone --retina --tall --sim64btin

现在Titanium 3.4 SDK已经推出并支持iOS 8和XCode 6,我希望能够在新的模拟器中轻松启动我的应用程序。但目前它似乎默认为iPhone 4s sim。

我错过了什么?

1 个答案:

答案 0 :(得分:3)

有几种方法可以做到这一点,包括将.xcodeproj导入XCode,但我发现自己的方式更方便。它并不完美,但这正是我目前所做的,以及我是如何到达那里的。

对Titanium SDK源的一些检查显示CLI使用名为ios-sim的二进制文件来实际启动模拟器。一些谷歌搜索将揭示这是一个node.js包。我碰巧安装了这个,但我不确定它是否是由Titanium安装的 - 构建脚本使用SDK中打包的二进制文件。 控制台输出:

RalphsMBP:~ trey$ which ios-sim
/Users/trey/npm/bin//ios-sim
RalphsMBP:~ trey$ ios-sim --version
2.0

文档说明了Xcode6:

  

仅从版本3.x支持Xcode 6。

所以第1步:

sudo npm install -g ios-sim@3.0
ios-sim --version

你现在应该是3.0.0。

我的第一个想法是用npm中新安装的二进制文件替换Titanium SDK中的二进制文件。我想也许ti build的论据可能会直接传递给ios-sim。事实证明这是一个死胡同(在我看来,builder.py脚本是一个混乱 - 已经重写它了!)

幸运的是,使用ios-sim的新devicetypeid选项编写构建脚本以在您选择的模拟器中启动仍然非常容易。使用ios-sim showdevicetypes获取有效设备类型ID列表。这是我的iPhone 6构建脚本:

ti build -b --skip-js-minify -p ios && ios-sim launch ${project_path}/build/iphone/build/Debug-iphonesimulator/${project_base_name}.app --devicetypeid com.apple.CoreSimulator.SimDeviceType.iPhone-6

变量是sublime文本构建系统的一部分,但您可以以任何方式应用该概念。 -b标志是--build-only,我认为其余的都是非常自我解释的。