아이폰에서 Flutter 실행시키기

 ・ 3 min

photo by Jasper Gribble on Unsplash

저는 항상 Simulator를 통해서 Flutter 프로젝트를 실행시켰었어요. 키보드를 새로 사면서 블루투스로 M1에 연결하니 마우스랑 헤드셋도 무선으로 연결하다 보니 끊김이 굉장히 심해서 키보드는 동글이 필요해졌어요. 그래서 키보드 동글을 꽂는 용도로 알리에서 USB를 꽂을 수 있는 허브를 샀는데 Type-C 포트도 몇 개 포함되어 있어서 이걸 아이폰과 연결해서 개발하면 좋겠다고 생각했어요.

아이폰에서 개발자 모드 설정하기#

이미 저는 몇 개의 Type-C to 8-pin 선이 있어서 바로 연결하고 아이폰에서 이 컴퓨터를 신뢰하겠냐고 승인해 준 뒤, VS Code에서 실행 장치를 제 아이폰으로 설정해 뒀어요.

그런데 아래와 같은 경고 문구가 뜨면서 실행되지 않았어요.

image

지시 사항은 설정에서 사생활 & 보안에서 개발 모드를 설정하라는 거였어요. 설정 앱을 열고 개인정보 보호 및 보안을 선택해 주세요.

|320|320

개인정보 보호 및 보안에 들어간 뒤, 가장 하단으로 스크롤을 내려주세요. 그러면 개발자 모드가 보일 거예요. 저는 "끔"으로 설정되어 있었어요.

|320|320

개발자 모드를 켜주시고 재시동을 한 뒤, 잠금화면에서 홈 화면으로 진입하면 키겠냐는 메시지가 한 번 더 나와요. 만약 취소를 누르셨는데 개발자 모드를 켜야 한다면 다시 개인정보 보호 및 보안에 들어가서 진행해 주세요.

image

"이제는 다 됐겠지" 하며 실행을 해보았는데 아래와 같은 메시지가 나오면서 실행되질 않았어요. 이 문제는 서명되지 않은 채로 실행하려고 해서 그런 거예요.

image

프로젝트에 서명하기#

이제 이 지시사항대로 진행할게요. 터미널에서 프로젝트의 루트라면 open ios/Runner.xcworkspace 명령으로 Xcode를 열어주세요.

왼쪽 사이드바에서 Runner를 선택해 주세요. 만약 Runner가 보이지 않는 거라면 Runner 위에 보이는 파란색 폴더가 선택되지 않은 거예요.

image

Project에도 Runner가 있고 Targets에도 Runner가 있을 거예요. Targets의 Runner를 선택해 주세요.
그리고 Signing & Capabilities를 선택해 주세요. 아마 저처럼 Team이 None으로 선택되어 있을 거예요.

image

저는 애플 개인 계정을 선택하고 아래에 Sign In 버튼이 나와서 선택 후 비밀번호를 입력해 줬어요.

"이제는 다 됐겠지" 하면서 실행을 시켰는데 또 다른 문제가 발생하며 실행할 수 없었어요.

image

키체인 적용하기#

Xcode에서 프로젝트가 닫혀있다면 다시 활성화해 주세요. 그리고 상단에 Runner > 사용할 아이폰을 선택해 주세요. 그리고 빌드를 해야 하니 상단 왼쪽에 ➡️ 이렇게 생긴 재생 아이콘을 눌러주세요.

조금 기다리니 키체인 비밀번호를 요구하라 그래서 아이폰 비밀번호, 맥 비밀번호, 애플 계정 비밀번호를 입력해도 다 틀리길래 뭔가 싶어서 값을 지우고 확인을 누르니 통과됐어요.

image

Xcode에도 제 아이폰에도 어떤 경고 메시지가 나오더니 실행이 또 안 되더라고요.
그리고 아이폰에는 앱이 설치되었지만, 실행되지 않고 눌러보면 경고 메시지만 나오고 있어요.

image

아이폰에서 앱 신뢰하기#

설정 -> 일반 -> VPN 및 기기 관리를 선택해 주세요. 그러면 개발자 앱 항목에 Xcode에서 로그인한 계정으로 신뢰할 수 없다고 표시되고 있을 거예요. 그걸 눌러주세요.

|320|320

그러면 다음 화면으로 넘어와서 상단에 신뢰 버튼이 있을 텐데 이걸 누르고 뜨는 모달에서 오른쪽에 위치한 신뢰라고 빨간 텍스트를 선택해 주세요.

그리고 Xcode에서 다시 한번 빌드를 해야 하니 상단 왼쪽에 ➡️ 이렇게 생긴 재생 아이콘을 눌러주세요.
그러면 정상적으로 실행이 될 거예요. 그 뒤에는 VS Code에서 실행시켜도 잘 되실 거예요!
VS Code에서 처음 실행하는 경우에 Xcode 제어 권한을 요청하는데 허용해 주세요.

저는 아래처럼 설치와 실행이 잘 되는 걸 확인할 수 있어요! 😎

|320|320

이게 도움이 될 수도..#

Issue navigator
이걸 하면서 겪었던 일인데, Xcode에서 Flutter 프로젝트를 키면 Issue navigator에 많은 경고 메시지가 나올 거예요. 저는 약 300개 정도 떴었어요. 바꾸지 않는 걸 추천해 드리지만, 바꿔야 하는 경우라면 미리 확인 or 백업 or 커밋해두시는 걸 추천할게요.

저는 처음엔 그냥 생각 없이 dart fix처럼 좋게 바꿔주는 건가 싶어서 적용했는데 그 뒤로 되질 않더라구요.
ios 폴더로 들어간 뒤, pod install --repo-update 명령을 실행해서 되돌렸어요.

codesign 입력 건너뛰기
매번 아이폰에서 프로젝트를 실행할 때마다 codesign 비밀번호를 입력받도록 뜨더라구요. 처음에는 괜찮았는데 매번 입력하는 게 너무 귀찮아서 방법이 없나 찾아봤어요.

저는 아이폰에서 설정을 해야하는줄 알았는데 사용하는 컴퓨터에서 설정하면 되는 일이었어요.
먼저 키체인 접근이라는 앱을 열어주세요.

image

그러면 암호를 열 것인지 키체인을 열 것인지 물어보는데, 파란색 버튼 대신 목록에서 두 번째인 회색 버튼을 눌러주세요.

image

사용자 설정 키체인 -> Apple Development를 마우스 우클릭으로 눌러주시면, 저런 옵션을 볼 수 있어요.
거기서 키체인 잠금 해제를 누르고 비밀번호를 눌러주세요. 저는 따로 설정하지 않아서 입력 없이 확인을 눌렀어요.


In the business world, the rearview mirror is always clearer than the windshield.

— Warren Buffett


Other posts
cover_image
 ・ 3 min

Flutter에서 fvm 적용하기

cover_image
 ・ 2 min

앱 아이콘 만들 때 참고할 것

cover_image
 ・ 14 min

생명