使用RubyMotionselectiOS模拟器设备types

自iOS 8发布以来,模拟器的默认设备types变成了iPhone 6.即使我使用Hardware> Device菜单手动更改设备types,在下次启动(使用rake simulator )时,模拟器将恢复为iPhone 6。

我不知道是否有任何耙选项,或其他设置强制设备types。

PS。 我知道有办法强制一个非视网膜的iPhone和一种方式来启动iPad模拟器,而不是iPhone的,但我有兴趣在5/6/6 +之间进行select。

谢谢

运行旧版本Xcode的/Applications/Xcode.app/Contents/Developer/usr/bin/simctl list (或/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/simctl list

显示你的模拟器以下是我的模拟器设备

== Devices == -- iOS 7.0 -- -- iOS 7.1 -- iPhone 5s (971DB3D4-7FF4-4005-A11D-11541ED79193) (Shutdown) -- iOS 8.0 -- iPhone 5s (EE64F798-6CB9-40B1-8B19-30727C3CA538) (Shutdown) iPhone 6 Plus (D9F2BEEE-D341-4080-8A49-24AB6FACD9D9) (Shutdown) iPhone 6 (81229508-4D35-4BEE-B616-FB99FDC6BCDD) (Booted) iPad 2 (F2484155-E4A2-44E9-A113-AAF4B9A83717) (Shutdown) Resizable iPhone (B762046B-1273-4638-B0ED-A7827A822BDD) (Shutdown) Resizable iPad (AACAB77A-12BD-43F3-A847-3D11575F3BF3) (Shutdown)

如果你想运行iPhone 5s作为IOS 7.1( You must set app.deployment_target = '7.1' ),你可以这样做
rake device_name="iPhone 5s (971DB3D4-7FF4-4005-A11D-11541ED79193)"

我发现最简单的方法是将以下内容添加到Rakefile

 desc "Run simulator on iPhone" task :iphone4 do exec 'bundle exec rake device_name="iPhone 4s"' end desc "Run simulator on iPhone" task :iphone5 do exec 'bundle exec rake device_name="iPhone 5"' end desc "Run simulator on iPhone" task :iphone6 do exec 'bundle exec rake device_name="iPhone 6"' end desc "Run simulator in iPad Retina" task :retina do exec 'bundle exec rake device_name="iPad Retina"' end desc "Run simulator on iPad Air" task :ipad do exec 'bundle exec rake device_name="iPad Air"' end 

然后你可以在你的terminal上运行rake iphone5 ,它会打开该设备的模拟器。

在“Motion :: App”部分之前的rake文件中,执行以下操作

 ENV['device_name'] ||= 'iPhone 4s' 

或者在仿真器设备列表中指定任何其他设备的名称。