expo는 개발중인 스마트폰 어플리케이션을 아주 쉽게 스마트폰에서 실험할 수 있는 환경을 제공합니다. 프로젝트 폴더에서 npm start 명령어를 입력하면 즉시 개발 서버가 실행되면서 스마트폰에서 실행할 수 있도록 QR 코드가 나타납니다. 마켓에서 EXPO GO 어플리케이션을 다운받아 실행하여 QR코드를 찍으면 바로 개발중인 어플리케이션을 스마트폰을 비롯한 안드로이드/IOS 기기에서 사용가능하다는 장점이 있습니다.

 

저같은 경우 SSAFY에서 지급받은 노트북을 사용할 때는 android 애뮬레이터를 이용하였지만 개인 노트북에서는 애뮬레이터와 함께 사용하면 심하게 버벅였습니다. 그래서 EXPO GO 앱을 이용한 테스트가 절실한 상황이었습니다...ㅠ

 

문제

그런데 남들은 다 된다는 EXPO GO 어플리케이션이 저만 작동하지 않았습니다.아래의 view error log를 터치하자 다음과 같은 메세지를 볼 수 있었습니다.

오류 메세지와 로그

딱히 의미있는 로그는 없습니다. 192.168.35.15:8081(개발 서버 주소)로 연결이 10초가 지난뒤에도 이루어지지 않아 오류가 발생한 것이었습니다. 같은 와이파이에 연결되어 있었지만 이상하게 해당 EXPO앱에 연결되지 못하고 있던 것이었습니다. 아마 윈도우의 방화벽이 차단했을 것이라고 생각하여 프로젝트 실행 시에 열리는 localhost 주소의 포트인 8081번 포트를 인바운드 규칙으로 모든 연결을 허용하였으나 여전히 똑같은 오류 메시지가 나왔습니다.

해결

해결법은 간단합니다. Node.js를 사용하려는 통신을 모두 허용해주면됩니다.

제어판 > 시스템 및 보안 > Windows Defender 방화벽 > 허용되는 앱에서 설정 변경을 누르고 Node.js JavaScript Runtime의 "공용" 네트워크 통신을 허용해주면 됩니다. 그러면 EXPO GO 앱을 통해 프로젝트를 직접 실행할 수 있습니다.

+ Recent posts