2014-10-09 1 views
7

Поскольку iOS 8 был выпущен, тип устройства по умолчанию для симулятора стал iPhone 6. И даже если я вручную изменил тип устройства с помощью Hardware> Device menu, на следующем запуске (используя rake simulator) симулятор вернется к iPhone 6.Выбор типа устройства iOS Simulator с RubyMotion

Интересно, есть ли какие-либо опции рейка или какие-то другие настройки, чтобы заставить тип устройства.

PS. Я знаю, что есть способы заставить iPhone без сетчатки и начать запуск симулятора iPad вместо iPhone, но я заинтересован в выборе между 5/6/6 +.

Благодаря

ответ

12

Run /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list (или /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/simctl list для старых версий Xcode.

показать ваши имитаторы следующие мои тренажерные устройства

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

если вы хотите запускать картинки 5s как IOS 7.1 (You must set app.deployment_target = '7.1'), вы можете сделать это как
rake device_name="iPhone 5s (971DB3D4-7FF4-4005-A11D-11541ED79193)"

+5

Спасибо, это именно то, что я искал. Но установка имени устройства как 'device_name =" iPhone 5s (F1B3E385-4031-4858-8FD0-50D5F709893A) "не работала для меня (в этом случае он всегда возвращается к iPhone 4s). При указании имени устройства, такого как 'device_name =« iPhone 5s », работала хорошо. –

+0

'simctl' теперь находится в /Applications/Xcode.app/Contents/Developer/usr/bin/simctl – Andrew

1

В файле граблей до раздела «Motion :: App», выполните следующие действия

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

Или указать имя любого другого устройства в списке симулятор устройства.

18

Я обнаружил, что самый простой способ сделать это, чтобы добавить следующее в конец вашего 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 

Затем вы можете запустить rake iphone5 в терминале, и он будет открыть тренажер для этого устройства.