2014-10-09 10 views
7

Da quando è stato rilasciato iOS 8, il tipo di dispositivo predefinito per il simulatore è diventato iPhone 6. E anche se cambio manualmente il tipo di dispositivo utilizzando il menu Hardware> Dispositivo, al successivo avvio (utilizzando rake simulator) il il simulatore tornerà su iPhone 6.Selezione del tipo di dispositivo iOS Simulator con RubyMotion

Mi chiedo se ci sono opzioni di rake o altre impostazioni per forzare il tipo di dispositivo.

PS. So che ci sono modi per forzare un iPhone non retina e un modo per avviare il simulatore iPad invece di quello per iPhone, ma sono interessato a selezionare tra 5/6/6 +.

Grazie

risposta

12

Run /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list (o /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/simctl list per le vecchie versioni di Xcode.

mostrano i tuoi simulatori seguente è il mio dispositivi simulatore

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

se si desidera eseguire l'iPhone 5s come IOS 7.1 (You must set app.deployment_target = '7.1'), puoi farlo come
rake device_name="iPhone 5s (971DB3D4-7FF4-4005-A11D-11541ED79193)"

+5

Grazie, è esattamente quello che stavo cercando. Ma l'impostazione del nome del dispositivo come 'device_name =" iPhone 5s (F1B3E385-4031-4858-8FD0-50D5F709893A) "non ha funzionato per me (in questo caso torna sempre su iPhone 4s). Pur specificando solo il nome del dispositivo come 'device_name =" iPhone 5s "' ha funzionato bene. –

+0

'simctl' è ora disponibile in /Applications/Xcode.app/Contents/Developer/usr/bin/simctl – Andrew

1

Nel file rake sezione "Motion :: App" prima, eseguire le seguenti operazioni

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

o specificare il nome di qualsiasi altro dispositivo nell'elenco dei dispositivi simulatore.

18

Ho trovato che il modo più semplice per farlo è quello di aggiungere il seguente alla fine del vostro 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 

Quindi è possibile eseguire rake iphone5 nel vostro terminale e si aprirà il simulatore per quel dispositivo.

Problemi correlati