Flutter Ipa No Codesign Api Key Testflight

flutter build ipa 실패 원인과 --no-codesign + API Key로 TestFlight 배포하기

Flutter iOS 앱을 여러 Apple 계정으로 관리하다 보면 한 프로젝트에서는 make testflight가 잘 되는데 다른 프로젝트에서는 동일한 Makefile이 실패하는 상황이 생긴다. 오늘 겪은 케이스를 정리한다. 증상 ❌ Error (Xcode): No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID "XXXXXXXX" with a private key was found. flutter build ipa 실행 시 위 오류로 실패한다. Distribution 인증서는 키체인에 있는데 Development 인증서가 없다는 메시지다. 원인: flutter build ipa 내부에서 일어나는 일 flutter build ipa는 내부적으로 다음 순서로 동작한다. ...

2025-11-04 · 4분 소요 · Seunghan
Sign In With Apple Testflight Entitlement Errors

Sign In with Apple 추가 후 TestFlight 빌드 에러 2연타 해결

Flutter iOS 앱에 Sign In with Apple을 추가하면서 TestFlight 빌드까지 두 가지 에러를 연달아 만났다. 각각 원인이 달라서 정리해둔다. 배경 Sign In with Apple을 활성화하려면 코드만 짜면 되는 게 아니다. Apple Developer Portal에서 App ID에 capability를 추가하고, 프로비저닝 프로파일을 반드시 재생성해야 한다. 기존 프로파일은 Sign In with Apple entitlement를 포함하지 않으므로 그냥 빌드하면 실패한다. 순서대로 하면: developer.apple.com → Identifiers → App ID 선택 Sign In with Apple 체크 → Edit → “Enable as a primary App ID” 선택 → Save Profiles → 기존 App Store 프로파일 Edit → Generate → Download 다운받은 .mobileprovision 파일을 ~/Library/MobileDevice/Provisioning Profiles/ 에 복사 여기까지 하면 준비 완료처럼 보이는데, 막상 flutter build ipa 를 돌리면 에러가 나온다. ...

2025-09-10 · 2분 소요 · Seunghan
Flutter Testflight Build Number Mismatch

Flutter TestFlight 빌드 번호 불일치: pubspec.yaml +9인데 TestFlight에서 빌드 11로 표시되는 이유

Flutter iOS 앱을 TestFlight에 업로드했을 때 pubspec.yaml에 설정한 빌드 번호와 TestFlight에 표시되는 빌드 번호가 다른 경우가 있다. 예를 들어 version: 1.0.1+9로 설정했는데 TestFlight에서는 빌드 11로 표시된다. 왜 빌드 번호가 달라지는가 Flutter의 빌드 번호 흐름: pubspec.yaml version: 1.0.1+9 ↓ flutter build ios --no-codesign ↓ CFBundleVersion = 9 (Runner.app) ↓ xcodebuild archive -allowProvisioningUpdates ↓ Xcode 자동 서명 과정에서 App Store Connect 최신 빌드 번호 조회 ↓ 최신 빌드가 10이면 → CFBundleVersion을 11로 덮어씀 ↓ TestFlight에는 빌드 11로 업로드됨 xcodebuild에 -allowProvisioningUpdates 옵션을 주면 Xcode가 App Store Connect API를 통해 자동 서명을 처리하는데, 이 과정에서 이미 업로드된 빌드 번호와 충돌을 피하기 위해 CFBundleVersion을 자동으로 증가시킨다. ...

2025-08-13 · 2분 소요 · Seunghan
Flutter Icloud Storage Sync Ios Setup

Flutter icloud_storage_sync iOS 설정 완전 가이드

icloud_storage_sync 패키지는 코드만 추가한다고 되지 않는다. iOS 실기기에서 동작하려면 세 가지 설정이 모두 맞아야 한다. 1. Runner.entitlements ios/Runner/Runner.entitlements 파일에 iCloud 관련 키를 추가한다. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.developer.icloud-services</key> <array> <string>CloudDocuments</string> </array> <key>com.apple.developer.ubiquity-container-identifiers</key> <array> <string>iCloud.$(CFBundleIdentifier)</string> </array> </dict> </plist> $(CFBundleIdentifier)는 빌드 시 Info.plist의 번들 ID로 자동 치환된다. 2. Xcode Capability 추가 entitlements 파일만 수정하면 Apple Developer Portal의 App ID와 동기화되지 않는다. Xcode에서 직접 Capability를 추가해야 한다. ...

2025-07-30 · 2분 소요 · Seunghan
Flutter Dead Ui Fix Xcode26 Widget Bug

Flutter 미구현 UI 컴포넌트 연결 + Xcode 26 베타 WidgetKit 설치 버그 우회

Flutter 앱 작업 중 두 가지 문제를 연달아 처리했다. 하나는 UI 차원의 문제 — onTap: () {} 로 껍데기만 있는 컴포넌트들을 실제로 연결하는 작업. 다른 하나는 Xcode 26.2 베타에서 시뮬레이터에 앱을 설치하면 익스텐션 때문에 앱 자체가 설치되지 않는 문제다. 1. 동작하지 않는 UI 컴포넌트 연결 Flutter 개발 중 흔히 발생하는 상황: 화면은 다 만들어졌는데 버튼에 onPressed: () {}, 카드에 onTap: () {}만 달려 있고 실제 동작이 없는 상태. 패턴별 정리 알림 벨 아이콘 ...

2025-07-16 · 4분 소요 · Seunghan
Ios Codesign Testflight Full Setup

iOS 배포 인증서 전체 세팅: Distribution Cert → APNs → Provisioning Profile → TestFlight

Flutter 앱을 TestFlight에 올리는 과정에서 코드 서명 관련 설정을 처음부터 다시 잡으면서 정리한 내용이다. Xcode 자동 서명이 아닌 수동 + App Store Connect API Key 방식으로 진행했다. 전체 흐름 [1] Distribution Certificate 발급 [2] APNs Certificate 발급 (CSR 생성 필요) [3] App ID에 Push Notifications 활성화 [4] Provisioning Profile 생성 (App Store, Push 포함) [5] xcodebuild archive + export (API Key 인증) [6] xcrun altool로 TestFlight 업로드 1. Distribution Certificate Apple Developer → Certificates → + → Apple Distribution 선택. ...

2025-06-18 · 4분 소요 · Seunghan
Flutter Testflight Push Notifications Entitlement

Flutter TestFlight 빌드 오류: Push Notifications 엔트리포인트 문제

Flutter 앱을 TestFlight에 처음 올려보면서 겪은 빌드 오류와 해결 과정을 정리한다. 오류 상황 flutter build ipa --release 후 xcrun altool로 업로드를 시도하자 업로드 자체가 아니라 빌드 단계에서 Xcode 아카이브가 실패했다. error: Provisioning profile "iOS Team Provisioning Profile: *" doesn't include the aps-environment entitlement. 업로드 커맨드: xcrun altool --upload-app \ --type ios \ --file "build/ios/ipa/app.ipa" \ --username "$APPLE_ID" \ --password "$APPLE_APP_PASSWORD" 원인 ios/Runner/Runner.entitlements 파일에 아래 항목이 들어가 있었다. <key>aps-environment</key> <string>production</string> 이 키는 Push Notifications 기능을 활성화한 Provisioning Profile에서만 허용된다. Wildcard(*) 프로비저닝 프로파일은 Push Notifications을 지원하지 않기 때문에 아카이브 시점에 충돌이 발생한다. ...

2025-06-08 · 2분 소요 · Seunghan
개인정보처리방침 문의