Flutter 를 공부하면서 강의에서는 발생하지 않는 에러가 현재 내 환경에서는 발생하고 있어 해결방법을 기록하려 합니다.
ImagePicker 를 사용하여 시뮬레이터에서 파일(사진 및 동영상)을 접근하려 할 때
Lost connection to device.
the Dart compiler exited unexpectedly.
에러가 발생하면서 시뮬레이터가 종료되는 이슈가 발생했다.
정확한 원인은 잘 모르겠으나, IOS 가 버전업되면서 접근 권한 여부 뭐라뭐라 하던데
그렇다기에는 안드로이드 시뮬레이터 또한 같은 에러를 뱉고 있어서 정확한건지 모르겠다.
아무튼 해결방법을 알아보자.
현재 저의 환경은 Mac m2 pro 입니다.
윈도우도 이런 에러가 발생하는지, 발생한다면 동일하게 해결하는지는 모릅니다.
1. 현재 프로젝트 디렉토리로 이동
현재 작업중인 프로젝트를 우클릭 후 'Open In' -> 'Finder' 클릭하여 프로젝트 디렉토리로 이동합니다.
프로젝트 디렉토리에서 ios 디렉토리를 클릭합니다.
2. xcode 실행
프로젝트 디렉토리 - ios 디렉토리로 이동하여 'Runner.xcworkspace' 를 클릭하여 xcode를 실행합니다.
xcode를 실행하고 'Runner'-'Runner-Info' 를 클릭하면 아래와 같이 테이블이 나오게 되는데, 'Information Property List' 를 우측클릭하여 'Add Row'를 클릭하여 값을 추가해 줍니다.
아래와 같이 NSPhotoLibraryUsageDescription 을 입력 후 엔터를 눌러 입력완료합니다.
그럼 아래와 같이 설정이 된 것을 확인할 수 있습니다.
이후 다시 앱 빌드하여 실행하면 접근 권한 여부 팝업이 정상적으로 표시되어 실행되는 것을 확인할 수 있습니다.
이 방법으로 아이폰 및 안드로이드 시뮬레이터를 정상 실행 가능합니다.