2014-10-09 23 views
7

Kể từ khi iOS 8 được phát hành, loại thiết bị mặc định cho trình mô phỏng đã trở thành iPhone 6. Và thậm chí nếu tôi thay đổi loại thiết bị bằng cách sử dụng Hardware> Device menu, trên lần khởi chạy tiếp theo (sử dụng rake simulator) trình mô phỏng sẽ hoàn nguyên về iPhone 6.Chọn loại thiết bị iOS Simulator với RubyMotion

Tôi tự hỏi nếu có bất kỳ tùy chọn cào nào hoặc một số cài đặt khác để buộc loại thiết bị.

PS. Tôi biết rằng có nhiều cách để buộc một chiếc iPhone không có võng mạc và một cách để khởi chạy trình mô phỏng iPad thay vì một chiếc iPhone, nhưng tôi quan tâm đến việc chọn giữa 5/6/6 +.

Cảm ơn

Trả lời

12

Run /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list (hoặc /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/simctl list cho các phiên bản cũ của Xcode.

hiển thị mô phỏng của bạn Sau đây là các thiết bị mô phỏng của tôi

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

nếu bạn muốn chạy iPhone 5s như IOS 7.1 (You must set app.deployment_target = '7.1'), bạn có thể làm điều đó như
rake device_name="iPhone 5s (971DB3D4-7FF4-4005-A11D-11541ED79193)"

+5

Cảm ơn, đó chính xác là những gì tôi đang tìm kiếm. Nhưng thiết lập tên thiết bị như 'device_name =" iPhone 5s (F1B3E385-4031-4858-8FD0-50D5F709893A) "' không hoạt động đối với tôi (nó luôn quay trở lại iPhone 4s trong trường hợp đó). Trong khi chỉ định tên thiết bị như 'device_name =" iPhone 5s "' hoạt động tốt. –

+0

'simctl' hiện được tìm thấy tại /Applications/Xcode.app/Contents/Developer/usr/bin/simctl – Andrew

1

Trong file cào của bạn trước khi "Motion :: App" phần, làm như sau

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

Hoặc chỉ định tên của bất kỳ thiết bị khác trong danh sách thiết bị mô phỏng.

18

tôi thấy rằng cách dễ nhất để làm điều này là để thêm dòng sau vào cuối của bạn 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 

Sau đó, bạn có thể chạy rake iphone5 trong thiết bị đầu cuối của bạn và nó sẽ mở trình giả lập cho thiết bị đó.

Các vấn đề liên quan