이 문서는 Flutter 프로젝트에서 iOS용 .ipa 파일을 수동으로 생성하는 절차를 설명합니다.
Flutter iOS 앱을 실기기 테스트 또는 Apple Configurator 배포를 위해 .ipa 파일로 포장하는 수동 방법을 정리합니다.
- Flutter 및 fvm 설치 완료
- iOS 개발 환경 설정 완료 (Xcode, 개발자 계정 등)
Runner.xcworkspace기준 프로젝트- 연결된 실기기 혹은
.ipa파일 설치 툴 (Apple Configurator 등)
Flutter에서 iOS 빌드는 주로 Release 모드로 진행되며, 기본 설정도 --release입니다. 필요에 따라 --debug, --profile 옵션도 사용할 수 있습니다.
// 일반
flutter build ios
// 동일
flutter build ios --release
// fvm 사용 시
fvm flutter build ios
- 결과:
build/ios/iphoneos/Runner.app생성 - 실기기 설치, 배포, TestFlight, App Store 제출용
// 일반
flutter build ios --debug
// fvm 사용 시
fvm flutter build ios --debug- 결과:
build/ios/iphoneos/Runner.app생성 - 디버깅 목적용이며
.ipa패키징이나 배포에는 적합하지 않음
⚠️ 참고:flutter run은 자동으로debug모드 빌드를 사용함
cd build/ios/iphoneos
mkdir Payload
cp -r Runner.app Payload/
zip -r Runner.ipa PayloadPayload/Runner.app구조는 Apple이 요구하는.ipa포맷- 압축 결과물인
Runner.ipa파일이 실기기 설치용으로 사용됨
.ipa파일을 Apple Configurator로 열기- USB로 연결된 iPhone에 드래그 앤 드롭
.ipa파일을 기기 이름 위에 드래그하여 설치 가능
Runner.app에 서명 포함 여부 확인embedded.mobileprovision파일 포함 필수
- 서명되지 않았거나, UDID가 provisioning profile에 포함되지 않으면 설치 불가
- 테스트 기기에서 “신뢰되지 않은 개발자” 경고 발생 시 설정에서 수동 승인 필요
- 260623: 초안작성