Xcode 6-명령 줄에서 시뮬레이터 시작
명령 줄에서 iPhone 시뮬레이터를 시작하고 싶습니다.
지금까지 아래 명령을 사용했습니다.
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateDevice
-SimulateDevice는 특정 장치 유형을 시작하는 데 사용됩니다.
이제 Xcode 6에서 경로와 앱이 다음과 같이 변경되었습니다.
/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator
하지만 슬프게도 -SimulateDevice 옵션이 현재 작동하지 않습니다. 시뮬레이터를 실행할 수 있지만 실행할 시뮬레이터를 지정할 수있는 옵션이 없습니다.
누구든지 Xcode 6에서 이에 대한 대안을 찾았습니까?
내가 원하는 것을 달성 할 방법을 찾았습니다.
Apple은 Xcode 6에 흥미로운 도구를 도입했습니다!
simctl
simclt를 사용하면 실행중인 시뮬레이터를 제어 할 수 있습니다.
xcrun simctl
사용 가능한 하위 명령 목록을 가져 오려면 실행 하십시오. 놀 수있는 많은 새로운 옵션.
이제 내가 원하는 작업을 수행하기 위해 시뮬레이터를 시작하는 명령이 있습니다.
xcrun instruments -w "iPhone 5 (8.0 Simulator)"
-w는 장치 유형을 제공하고 사용 가능한 장치 목록을 가져 오는 것입니다.
이것을 실행하십시오.
xcrun instruments -s
시뮬레이터를 시작한 후 다음을 사용하여 제어 할 수 있습니다. simctl
앱을 설치하려면 :
xcrun simctl install booted <app path>
앱을 시작하려면 :
xcrun simctl launch booted <app identifier>
도움이 되었기를 바랍니다.
Xcode 6을 사용하면 iOS Simulator.app이 실행될 때 특정 장치를 부팅하도록하려면 명령 줄에서 다음을 실행할 수 있습니다.
open -a "iOS Simulator" --args -CurrentDeviceUDID <DEVICE UDID>
부팅 할 장치의 UDID를 알아낼 수있는 곳 :
xcrun simctl list
Xcode 7에서는 응용 프로그램의 이름이 Simulator.app으로 변경되었으므로 위의 내용을 다음과 같이 업데이트해야합니다.
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>
xcode 7의 경우 :
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>
시뮬레이터 udid를 xcrun simctl list
부팅 된 특정 장치로 시뮬레이터를 시작하려면 list devices 하위 명령을 사용하여 사용 가능한 모든 장치 목록을 가져옵니다.
$ 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)
이 명령은 UDID 및 상태와 함께 사용 가능한 장치 목록을 출력합니다.
그런 다음 -CurrentDeviceUDID 옵션으로 장치를 지정하는 시뮬레이터 앱을 시작합니다.
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID <DEVICE-UDID>
참고 :를 목록에서 유효한 UDID로 바꾸십시오.
예를 들어, Ipad로 시뮬레이터를 시작하려는 경우 (% 세대 부팅 됨) :
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID 84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31
업데이트 2018 년 5 월 23 일
Xcode 9.3 CurrentDevice UDID 옵션이 작동하지 않는 경우 해결 방법으로 simctl을 사용하여 시뮬레이터를 열기 전에 장치를 부팅해야합니다.
xcrun simctl boot 2BF01FC0-7E29-4AF1-ADD1-886DF129A9A9
open -a Simulator
simctl을 사용하여 시뮬레이터를 생성, 삭제, 삭제, 부팅, 종료 및 업그레이드 할 수 있습니다.
$ xcrun simctl create
Usage: simctl create <name> <device type id> <runtime id>
$ xcrun simctl delete
Usage: simctl delete <device> [... <device n>] | unavailable
유효한 장치 유형 및 런타임 목록을 가져 오려면
xcrun simctl list devicetypes
xcrun simctl list runtimes
You can specify the hardware and iOS version with -w flag. The format is
instruments -w "simulator-version"
For eg:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
.
You will get the available hardvare-iOS combinations by using the instruments -w help
command.
Verified in Xcode 9.4.1
Device list in a REALLY NICE FORMAT: ~/Library/Developer/CoreSimulator/Devices/device_set.plist
Root
DefaultDevices
com.apple.CoreSimulator.SimRuntime.iOS-8-4
com.apple.CoreSimulator.SimDeviceType.iPad-Retina : AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
Then you want to run (open) your Simulator app and make sure that a new instance of the app is launched.
The app is here: /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
And the format you'd use is like this:
open -n -a <SimulatorPath> --args -CurrentDeviceUDID <SimDeviceTypeUDID>
So, if I wanted to launch the Simulator above, I'd do this.
open -n -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
Hot damn! I just tested it and it works on Mac OS 10.11.6. Now the next trick is telling the Simulator to open our installed app. I'm not there yet. Hope this helps. Thanks to https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia for his detailed explanation.
To boot a simulator:
xcrun simctl boot "iPhone X"
It will boot as a headless mode. To make the simulator visible:
open -a Simulator
xcrun simctl boot
is simpler than xcrun instruments -w
. instruments
requires the full device name.
Run this command. The app will be restarted followed by changes. No need to rebuild it again.
ios-sim "launch" "/Library/WebServer/Documents/testapp/build/iphone/build/Debug-iphonesimulator/test.app" "--devicetypeid" "iPad-2" "--exit";
For devicetypeid list:
ios-sim showdevicetypes
참고URL : https://stackoverflow.com/questions/26031601/xcode-6-launch-simulator-from-command-line
'programing' 카테고리의 다른 글
파일에서 RSA 공개 키로드 (0) | 2020.08.29 |
---|---|
phpMyadmin의 최대 실행 시간 (0) | 2020.08.29 |
ArrayList를 정렬하는 방법 (0) | 2020.08.29 |
인터페이스 빌더의 WKWebView (0) | 2020.08.28 |
Java8에서 시간대로 LocalDateTime 형식 지정 (0) | 2020.08.28 |