RN] 리액트네이티브 iOS 시뮬레이터 전원 off 후 재시동 오류 해결 (...Unable to lookup in current state: Shutdown)

tech·2021년 10월 30일
1

리액트 네이티브로 앱 개발 시,
특히 iOS 시뮬레이터를 한 쪽에 띄워놓는 경우가 다반사일 것이다.

어떤 사유로 (나처럼 프로그램 사용 중을 알리는 '.' 표시가 싫어서 습관적으로 실행 종료를 누르는 사람은 시뮬레이터를 곧잘 끌수도 있다) 한창 개발 도중 iOS 시뮬레이터가 꺼질 때가 있는데,
이 때는

npx react-native run-ios 

를 터미널에 입력하면 곤란하다.

아마도,

error Failed to launch the app on simulator, An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=405):
Unable to lookup in current state: Shutdown

라는 오류 구문과 함께 시뮬레이터 실행이 안될 것이기 때문에...

여러가지 삽질 결과,

방법을 세 가지로 축약해봤다.

1. node_module 삭제 후 재설치 (⭐️)

프로젝트 폴더에서,

rm -rf node_module 

(node_module 폴더 삭제)

npm install

npm 재설치

*시간은 꽤 걸리지만 간단하다. 많은 확률로 같은 오류 또 발생.

2. 맥OS - 개발자 캐시 삭제 후 재실행 (⭐️⭐️⭐️)

좌상단 사과 클릭 -> 이 mac에 관하여 클릭 ->

저장공간 클릭 -> 개발자 클릭

-> 우하단 삭제 클릭

(원래 이렇게 나와야 함)

아래는 내 상황임

읭?????

이 방법은 매우 유용하고, 한 방에 해결되는 방법이다!

단, 간혹 나처럼 자주(!!!) 이 방법은 써먹은 사람은 프로젝트 빌드 캐시가 제대로 모아지지 않는(?) 맥 자체의 오류가 생기는 것 같기도 하다.
(사용 중 MacOS Monterey 12.0.1 신규 업데이트라 그럴 수도 있음)

분명히 프로젝트 빌드 중이니 캐시가 쌓였을텐데 (적어도 1.5G는 쌓임)

와 진짜 미스테리함

3. 모든 개발서버를 종료 (⭐️)

kill -9 [PID번호]

pid 번호 알아내려면 (macOS 기준)

출처: https://woonizzooni.tistory.com/entry/Mac-listen-%ED%8F%AC%ED%8A%B8-pid-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95-TCPUDP-%EC%84%B8%EC%85%98-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95

sudo lsof -iTCP -sTCP:LISTEN -n -P 

입력하면 리스트로 볼 수 있다.
이때 나온 PID 번호를
입력하여 사용하지 않는 서버 혹은 에뮬레이터 (시뮬레이터) 와 연결된 서버를 죽여주자.

(높은 확률로 안 먹힘)

(ㄲㄷㄱ). 비어있는 시뮬레이터를 켜놓은채로 ~ run-ios 명령어 실행은 금물이다(⭐️⭐️⭐️⭐️)

시뮬레이터를 종료한 후, 다시 실행하니

success Successfully launched the app on the simulator

가 보였다!

얏호

상기 1,2,3, 삽질 사이 npm 이 종료되었을 수 있으니

npm start 

를 입력하여 개발 서버를 다시 실행해보자.

(ㄲㄷㄱ : 깍두기 라는 뜻이고 별뜻없다. )

끗 .

profile
in Hinter

0개의 댓글