Flutter앱을 실제 iPhone에서 테스트하기 위해 필요한 설정

Flutter앱을 실제 iPhone에서 테스트하기 위해 필요한 설정

지난 포스팅에서는 iOS앱을 시뮬레이터로 돌리기 위한 설정에 대해 설명하였다.
이번 포스팅에서는 실제 아이폰에서 구동시키기 위해 필요한 설정에 대해서 알아보도록 한다.


우선 터미널을 열고 자신의 flutter 프로잭트가 있는 디렉토리에서 아래 커맨드를 실행한다.

open ios/Runner.xcworkspace

그러면 xcode가 열린다. 우선 아이폰을 컴퓨터에 연결한다.
그 다음 왼쪽 위에 "Runner > iPhone xx" 부분을 클릭한다.

맨 위로 가보면 컴퓨터에 연결 된 아이폰이 보인다.

그걸 클릭하면 아이폰에 "연결된 컴퓨터를 신용하겠습니까"와 비슷한 팝업 메세지가 뜬다.
아이폰에서 신용을 탭해주면 된다.

왼쪽 네비게이션 메뉴에서 "Runner"를 클릭하면 여러가지 설정을 할 수 있는 화면이 열린다.
윗쪽 메뉴에서 "Signing & Capabilities"를 클릭하고 나타나는 화면에서 Team의 "Add Account" 버튼을 눌러서 개발자 계정을 추가해주자.
자신의 애플 아이디에 로그인하면 금방 생성 가능하다.

마지막으로 "Bundle Identifier"에 "myApp"이었던 부분을 자기가 원하는 임의이 이름으로 설정해준다.
맨 아래 "Signing Certificate"에 아무런 에러가 없다면 설정이 제대로 된 것이다.

아이폰에서 구동하는지 확인해보기 위해 터미널에서 flutter run 커맨드를 실행한다.
맥에 시뮬레이터가 이미 구동되어있는 상태에서 아이폰을 연결한 뒤 flutter run 커맨드를 실행하면 어느 디바이스에서 실행 할 건지 선택하라는 메세지가 나온다.

중간에 가려진 부분이 디바이스 아이디.
어느 디바이스에서 실행할지 특정하고 싶을 땐 flutter run -d 디바이스아이디 커맨드를 실행 해 주고, 시뮬레이터를 포함한 가능한 모든 디바이스에서 실행하고 싶을 땐 flutter run -d all 커맨드를 실행 해 주면 된다.
제대로 구동하기 위해선 아이폰의 잠금이 해제 된 상태여야 한다.

처음 구동하면 아이폰에 앱은 설치되는데 "신뢰하지 않는 개발자" 라는 팝업이 뜨면서 실행이 안된다. 메세지에 나와있는 개발자 정보를 잘 기억하자.
그 다음 아이폰의 "설정 -> 일반 -> 프로파일 및 기기 관리"에 가서 팝업 메세지에 뜬 개발자 정보를 눌러주고 나오는 다음 화면에서 개발자를 신뢰한다는 설정을 해주자.

다시 앱을 실행해보면 잘 실행될 것이다.

2021.06.13 추가 내용
iOS 14부터는 debug 모드 앱은 flutter와 연결이 된 상태에서만 실행이 된다.
flutter run 커맨드는 기본적으로 debug 모드 앱을 컴파일하고 실행하게 되어있다.flutter와 연결이 해제 된 상태에서도 앱을 아이폰에서 사용하고 싶다면 release 모드로 설치 해 주면 된다.
flutte run -d 디바이스아이디 --release 커맨드처럼 마지막에 --release 플래그를 추가해서 실행 해 주면 release 모드의 앱이 컴파일되고 아이폰에 설치된다. 그렇게 설치 된 앱은 flutter와 연결이 해제 된 상태에서도 앱을 실행하는 것이 가능하다.


이것으로 iOS용 앱을 시뮬레이터와 아이폰에서 구동시킬 수 있게 되었다.
다음 포스팅에서는 안드로이드용 시뮬레이터와 안드로이드 스마트폰에서 구동시켜보는 법에 대해 알아본다.