애플 기기에서 도는 앱을 실험해보기 위해서는 (1) 실장비가 있어야 하거나 (2) 시뮬레이터를 쓰는 방법이 있습니다. 후자 시뮬레이터는 일종의 가상머신으로 애플에서 발표한 실장비의 제품과 운영체제를 실험해볼 수 있는 도구로, 모바일 앱을 실장비 없이 테스트해볼 수 있게 해주는 방법을 제공합니다. Xcode의 일부이지만, xcrun simctl 명령어를 쓰면 명령행에서 제어가 가능합니다.
시뮬레이터를 잘 쓰면 아래와 같은 기능이 가능합니다.
(1) 시뮬레이터를 만들고, 부팅하고, 셧다운하고 지우기
(2) 사진과 영상을 시뮬레이터에 옮기기
(3) 모바일 앱을 설치하고, 삭제하고, 실행하고, 종료하기
(4) 스크린샷을 캡처하고 비디오를 레코딩
(5) 시뮬레이터 로그 확인
(6) 그외
xcrun simctl 명령어는 안드로이드로 치자면 adb가 하는 일을 하는 애플 시뮬레이터 전용 명령어입니다. 위치는 /Applications/Xcode.app/Contents/Developer/usr/bin/simctl 이구요.
명령행을 띄워 일련의 명령어를 흐름대로 입력하면 사용이 가능합니다.
기본 명령어 형식은
1 2 3 |
% xcrun simctl [--set <path>] [--profile <path>] <subcommand> ... |
이고
1 2 3 |
% xcrun simctl help |
라고 입력하면 가능한 subcommand가 나옵니다.
1 2 3 |
% xcrun simctl list |
라고 입력하면 Device Types, Runtimes, Devices, Device Pairs 가 나옵니다. 이들 중에서 Device Types와 Runtimes를 조합해서 새로운 시뮬레이터를 셋업하고 부팅해서 실행해볼 수 있습니다.
1 2 3 |
% xcrun simctl create Test-iPhone14ProMax com.apple.CoreSimulator.SimDeviceType.iPhone-14-Pro-Max com.apple.CoreSimulator.SimRuntime.iOS-16-2 |
그러면 문자와 숫자로 이루어진 코드가 출력됩니다. 제 경우 86AA2714-FE27-4FBB-B1B8-A54A3FB2A6A0 였습니다.
1 2 3 |
% xcrun simctl boot 86AA2714-FE27-4FBB-B1B8-A54A3FB2A6A0 |
이라고 입력하면 방금 만든 시뮬레이터가 부팅이 됩니다.
1 2 3 |
% open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app |
이라고 입력하면 만들고 부팅한 시뮬레이터가 실행됩니다.
셧다운하고 지우려면 아래 명령어를 입력합니다.
1 2 3 4 |
% xcrun simctl shutdown 86AA2714-FE27-4FBB-B1B8-A54A3FB2A6A0 % xcrun simctl erase 86AA2714-FE27-4FBB-B1B8-A54A3FB2A6A0 |
그외에도 맨위에 나열한 작업도 되는데 일단 생략합니다. 앱을 심으려면 일단 앱 파일을 빌드하고
1 2 3 |
% xcrun simctl install booted 앱경로 |
라고 입력하면 설치가 됩니다.
1 2 3 |
% xcrun simctl launch booted com.mycompany.myapp |
이라고 입력하면 됩니다. com.mycompany.myapp 부분은 앱제작시 설정한대로 입력합니다.
앱을 종료하려면
1 2 3 |
% xcrun simctl terminate booted com.mycompany.myapp |
시뮬레이터에서 앱을 지우려면
1 2 3 |
% xcrun simctl uninstall booted com.mycompany.myapp |
이라고 하면 됩니다.