Để khởi động trình mô phỏng với một thiết bị cụ thể đã khởi động, tôi đang sử dụng lệnh con danh sách thiết bị để lấy danh sách tất cả các thiết bị khả dụng
$ xcrun simctl list devices
== Devices ==
-- iOS 11.2 --
iPhone 5s (E3B6EA43-C805-49C2-9502-A44A465D8DF2) (Shutdown)
iPhone 6 (801E9E11-CA86-473A-9879-4B0742B827FB) (Shutdown)
iPhone 6 Plus (24013349-1A6F-489C-9A68-ABB00EBB4BBF) (Shutdown)
iPhone 6s (1A594D75-146C-4BEA-A250-1FADE7886114) (Shutdown)
iPhone 6s Plus (C2730FA0-11CB-49C9-A087-CB3C1BF1CC3D) (Shutdown)
iPhone 7 (F58B3749-3276-49E5-81C8-EBA1AEA7B242) (Shutdown)
iPhone 7 Plus (98167D8C-8F27-404C-AB02-588D9AAFD071) (Shutdown)
iPhone 8 (96322368-F763-4E0A-8576-ADE9F678211F) (Shutdown)
iPhone 8 Plus (E916D1EE-B67B-4C01-B3F5-C5C80CC4CDF8) (Shutdown)
iPhone SE (ABEFEDDF-7A7C-4B94-9E91-E065170FA47F) (Shutdown)
iPhone X (84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31) (Shutdown)
iPad Air (DCD8CF4B-2C9F-4BA1-952A-ACB9CAD0A84D) (Shutdown)
iPad Air 2 (A47C9A05-233F-450F-9A39-318258E9ADEA) (Shutdown)
iPad (5th generation) (819C058E-64AC-4E73-8F41-2C0F919F8B56) (Booted)
lệnh này sẽ xuất ra danh sách các thiết bị có sẵn với UDID và trạng thái của nó
Sau đó, tôi khởi chạy ứng dụng trình mô phỏng chỉ định một thiết bị có tùy chọn -CurrentDeviceUDID
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID <DEVICE-UDID>
LƯU Ý: thay thế bằng một UDID hợp lệ từ danh sách.
Ví dụ: nếu chúng ta muốn khởi chạy trình mô phỏng bằng Ipad (khởi động% thế hệ):
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID 84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31
CẬP NHẬT 23/05/2018
Với Xcode 9.3 CurrentDevice tùy chọn UDID không hoạt động đối với tôi, như một giải pháp thay thế, tôi phải sử dụng simctl để khởi động thiết bị trong trình mô phỏng trước khi mở nó.
xcrun simctl boot 2BF01FC0-7E29-4AF1-ADD1-886DF129A9A9
open -a Simulator
Bạn có thể tạo, xóa, xóa, khởi động, tắt và nâng cấp trình mô phỏng bằng simctl.
$ xcrun simctl create
Usage: simctl create <name> <device type id> <runtime id>
$ xcrun simctl delete
Usage: simctl delete <device> [... <device n>] | unavailable
Để nhận danh sách các loại thiết bị hợp lệ và thời gian chạy
xcrun simctl list devicetypes
xcrun simctl list runtimes