我通常使用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。
我错过了什么?
答案 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,我认为其余的都是非常自我解释的。