Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selecting the iOS Simulator device type with RubyMotion

Since iOS 8 was released the default device type for simulator became iPhone 6. And even if I manually change the device type using Hardware > Device menu, on the next launch (using rake simulator) the simulator will revert to iPhone 6.

I wonder if there is any rake options, or some other settings to force the device type.

PS. I know that there are ways to force a non-retina iPhone and a way to launch the iPad simulator instead of the iPhone one, but I'm interested in selecting between 5/6/6+.

Thanks

like image 511
Dmitry Sokurenko Avatar asked Oct 09 '14 13:10

Dmitry Sokurenko


People also ask

How do I choose iOS version in simulator?

Open your xcode and press command + shift + 2 . Click on left bottom + button and your new simulator with required iOS version. Click create , now you are ready to use the new simulator.

How do I change generic iOS device to simulator Xcode?

Open Xcode, Goto Preferences, Select Component. Click on Simulators of your choice then it will start the process of download & installing the simulators.


2 Answers

I found that the easiest way to do this is to add the following to the end of your 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

Then you can run rake iphone5 in your terminal and it will open the simulator for that device.

like image 87
kobaltz Avatar answered Oct 24 '22 05:10

kobaltz


Run /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list (or /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/simctl list for older versions of Xcode.

show your simulators following is my simulator devices

== 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)

if you want run iPhone 5s as IOS 7.1 (You must set app.deployment_target = '7.1'),you can do it like
rake device_name="iPhone 5s (971DB3D4-7FF4-4005-A11D-11541ED79193)"

like image 34
zhulinpinyu Avatar answered Oct 24 '22 03:10

zhulinpinyu