Xcode 시뮬레이터 팁 모음
≡ 목차 (Table of Contents)
이 글은 Xcode 팁 중 시뮬레이터와 관련된 부분만을 별도로 정리한 글이다. 이 외의 팁은 Xcode 팁 모음 글을 참고하자.
터미널에서 시뮬레이터 열기
터미널 등에서 CLI로 시뮬레이터를 열 때는 디바이스 UUID를 명확히 알아야 한다.
우선 아래 명령으로 시뮬레이터 리스트를 확보하자.
xcrun simctl list
목록에는 다양한 정보가 나타나는데, Devices라고 표시되는 항목에서 원하는 시뮬레이터를 찾아서 UUID를 복사해 놓자.
그 다음 이 UUID로 시뮬레이터를 기동해야 한다.
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUUID UUID
명령어가 좀 길다. 필요하다면 셸 초기화 스크립트에 alias를 만들어두면 편하다.
이 명령은 포그라운드에서 돌아가기 때문에 Control C
키를 누르면 창이 꺼지면서 종료되어 버린다. 그런데 눈에 보이지 않는 시뮬레이터 GUI 프로세스는 별도이기 때문에 죽지 않고 살아 남아 있다. 완벽하게 종료하려면 시뮬레이터 창에서 Command Q
키나 메뉴에서 종료를 선택해 확실하게 종료 시켜 주는 편이 좋다.
오래된 시뮬레이터 삭제하기
Xcode 메뉴바에서 Window 를 눌러보면 Devices and Simulators 메뉴를 찾을 수 있다. 이걸 눌러보면 장치 관리 윈도우가 뜬다. 여기서 Simulators 탭을 선택해서 원하는 시뮬레이터를 삭제할 수 있다.
오래된 시뮬레이터 런타임 삭제하기
Xcode의 Preferences를 통해 특정 버전의 콤포넌트(components)를 설치한 경우 시뮬레이터 삭제만으로 제거할 수 없는 경우가 있는데 이 콤포넌트들은 공유 런타임이라 그렇다. 이걸 지우려면 터미널에서 아래 커맨드를 통해 런타임 디렉토리로 먼저 들어가보자.
cd /Library/Developer/CoreSimulator/Profiles/Runtimes
여기 안에 각 버전에 해당하는 디렉터리들이 보인다. 이 디렉터리들을 루트 권한을 줘서 삭제하면 된다. 즉 아래와 같은 방식으로 삭제할 수 있다.
sudo rm -rf iOS\ xx.yy.simruntime
최신 버전 런타임은 여기에 위치하지 않으므로 최신 버전의 시뮬레이터에서만 테스트 하겠다면 다 지워도 무관한 것 같다.
시뮬레이터에서 이상한 배경색이 보일 때
메뉴에서 File - GPU Selection - Prefer Integrated GPU 항목을 선택하고 시뮬레이터를 재시작해보자. 잘 되면 원래대로 돌려도 무방한데 얼마 지난 뒤 다시 문제가 생겨서 또 같은 짓을 반복했다. 좀 더 상세한 내용은 ⏍iOS 시뮬레이터의 이상한 노란색(?) 문제 글을 참고하자.
시뮬레이터에서 커스텀 스킴 열기
커스텀 스킴을 테스트하기 위해서 기존에는 시뮬레이터 안에서 사파리의 주소줄에 URL을 입력하는 형태를 사용했었는데 이제는 터미널에서 xcrun
커맨드를 사용할 수 있다.
xcrun simctl openurl booted foo://bar
물론 이 방법이 좀 더 편하다.
기타 외부 링크
- ⏍5.5인치 Xcode 시뮬레이터가 없을 때: 시뮬레이터 디바이스가 없을 때 추가하는 방법