반응형

Xcode 시뮬레이터 먹통으로 마우스 및 키보드 입력 불가

Xcode로 개발중에 시뮬레이터가 멈추거나 시뮬레이터 실행은 되는데 Mac에서 마우스나 키보드로 입력이 안되는 경우가 발생할때가 있습니다. 보통은 시뮬레이터나 Xcode 재시작하거나 아예 Mac을 재시작하면 해결되곤 하는데요. 

간혹 이런 방법으로도 해결이 안될때가 있습니다. 

 

1. Xcode 시뮬레이터 강제종료 명령어 

시뮬레이터 먹통시 실행하는 명령어의 동작은 다음과 같습니다.

  • Apple 공식 CLI인 simctl을 통해서 실행중인 모든 가상 기기를 정상으로 shutdown 상태로 전환합니다.
xcrun simctl shutdown all
  • Mac OS에서 시뮬레이터 앱을 정상종료(SIGTERM) 합니다.
killall Simulator
  • Xcode와 시뮬레이터 간 통신(IPC) 및 시뮬레이터 생명주기를 관장하는 핵심 데몬을 강제 종료합니다. 종료시 launchd에 의해 자동 재시작되면 데드락이 해제됩니다.
killall -9 com.apple.CoreSimulator.CoreSimulatorService
  • Xcode에서 빌드된 앱을 시뮬레이터 런타임에 실행하고 디버거를 연결하는 도우미 프로세스를 초기화 합니다.
killall -9 SimulatorTrampoline
  • macOS 호스트 환경과 가장 iOS 내부 OS간 입출력 이벤트를 전달하는 브릿지 데몬을 강제 종료하여 동기화를 리셋합니다.
killall -9 CoreSimulatorBridge

 

2. 단계별 시뮬레이터 먹통 초기화 방법

  • 셧다운 및 데몬 강제 리셋하기
xcrun simctl shutdown all
killall Simulator
killall -9 com.apple.CoreSimulator.CoreSimulatorService
killall -9 SimulatorTrampoline
killall -9 CoreSimulatorBridge

 

  • 시뮬레이터 기기 데이터 전체 초기화
xcrun simctl erase all

 

  • CoreSimulator 캐시 및 DerivedData 삭제
rm -rf ~/Library/Developer/CoreSimulator/Caches
rm -rf ~/Library/Developer/Xcode/DerivedData

 

Xcode 및 CoreSimulatorService 데몬 완전 재시작

killall -9 com.apple.CoreSimulator.CoreSimulatorService
open -a Xcode

 

3. 키보드만 입력이 안될때

시뮬레이터 내부 텍스트 필드에 Mac 키보드 입력이 전달되지 않는 경우에는 다음과 같은 확인 필요합니다.

  • Mac의 키보드 입력을 시뮬레이터 가상 기기로 전달하는 설정이 꺼진 경우 발생합니다. (I/O -> Keyboard -> Connect Hardware Keyboard 체크)

해결방법 : 하드웨어 키보드 연결 옵션 해제 : Cmd + Shift + K

  • 시뮬레이터 가상 온스크린 키보드와 호스트 입력 상태가 꼬였을때 발생합니다. 

해결방법 : 소프트웨어 온스크린 키보드 토글 : Cmd + K

  • Mac의 현재 입력기가 한글(2벌식 등) 모드일 때 시뮬레이터 텍스트 필드 뷰가 이벤트를 수신하지 못하는 현상

해결방법 : macOS 한영/입력기 동기화 오류: 입력기를 영문(U.S)로 전환

  • 호스트 Mac과 시뮬레이터 기기간 키보드 이벤트 전달 브릿지 데몬이 응답 없는 상태

해결방법 : coreSimulatorBridge 데몬 리셋 

killall -9 CoreSimulatorBridge

 

핵심 요약

Xcode 시뮬레이터 먹통은 주로 CoreSimulatorBridge 데몬의 오류가 주요 원인이고, 강제 재시작으로 해결할 수 있습니다.

 

 

 

 

반응형
Posted by 까칠코더
,