안드로이드 폰의 경우에는 연결하면 별다른 설정 없이 바로 실제 폰에 앱을 설치하고 디버깅 할 수 있다. 하지만, 아이폰은 보안을 중요시하는 애플 정책으로 인해 까다로운 절차들이 필요하다. 게다가 사용할 아이폰 마다 설정해야 하니 개발자 입장에서 여간 귀찮은게 아니다.
앱 개발에 실제 아이폰 기기를 이용하기 위해 우선 아이폰의 개발자 모드를 활성화 한다.
개발자 모드 활성화는 iOS 16.2 기준으로
설정 > 개인정보 보호 및 보안 > 개발자 모드 메뉴에서 켤 수 있다.
사용할 아이폰을 맥에 연결하고, 신뢰할지 묻는 메시지가 뜨면 '신뢰함'을 선택한다.
이상태에서 바로 아이폰 선택하고 빌드하면 아래와 같은 오류가 뜬다.
유효한 인증이 없다고 한다.
다행히 방법이 상세하게 안내되어 있다.
안내된 대로 해보자.
- 'Automatically manage signing' 항목을 선택한다.
- Bundle Identifier 는 안드로이드 스튜디오에서 프로젝트를 생성했다면 그때 설정한 값으로 들어가 있다.
- Development Team 을 생성하지 않았다면 Team 항목에서 'Add Account' 를 선택하여 계정 정보를 입력한다.
- Development Team이 선택되면 그 아래 'Signing Certificate' 항목이 업데이트 된다.
- 여기까지 했으면 Xcode는 종료해도 된다.
이제 안드로이드로 돌아와 다시 빌드하면 설치가 된다.
하지만 실행했더니 다음과 같은 오류가 뜬다.
뭐가 이렇게 불편한걸까.
내가 직접 연결해서 직접 로그인하고 빌드한건데 왜 신뢰하지 않는다는걸까.
iOS 16.2 기준으로
설정 > 일반 > VPN 및 기기 관리 메뉴에서 설정할 수 있다.
이렇게 하고 다시 빌드하면 DEBUG 모드에서 정상적으로 실행이 된다.
안드로이드 스튜디오에서 Debug 모드로 빌드하고 설치된 앱을 아이폰에서 직접 실행을 하려고 하면 아래와 같은 오류가 뜨게 된다.
iOS 14 이상부터는 Debug 모드로 설치된 앱을 단독으로 실행할 수 없다. 단독 실행을 위해서는 Profile 모드 또는 Release 모드로 설정하고 빌드하여 설치해야 한다.
안드로이드 스튜디오에서 Release 빌드를 선택해도 되고, 아래와 같이 터미널에서도 가능하다.
이제 아이폰에 설치된 아이콘을 터치하여 단독으로 실행도 가능해졌다!
무지 귀찮다!
'프로그래밍 > flutter' 카테고리의 다른 글
use tools:overrideLibrary="org.tensorflow.tflite_flutter" to force usage (0) | 2023.12.28 |
---|---|
infinite PageView in Flutter (0) | 2023.02.07 |
Dart SDK path 설정 (Android Studio) (0) | 2022.05.04 |
flutter에서 match_parent 효과 (0) | 2022.03.30 |
GoogleSignInPlugin.java uses or overrides a deprecated API. 오류처리 (0) | 2021.12.12 |