# 04. TestFlight Beta Distribution meta: id: ios-production-04 feature: ios-production priority: P1 depends_on: [] tags: [app-store, testing, production] objective: - Set up TestFlight beta testing with internal and external testers to validate app before public release deliverables: - Internal testing group configured - External testing group with 20+ testers - Beta testing feedback process - Crash reporting for beta builds steps: 1. Configure internal testing: - Add all team members to App Store Connect - Create internal testing group - Upload first beta build - Verify team members can install via TestFlight app 2. Recruit external testers: - Create external testing group "Kordant Beta" - Invite 20-100 external testers via email or public link - Target: mix of technical and non-technical users - Include iPhone and iPad users - Include different iOS versions (16, 17, 18) 3. Prepare beta testing materials: - Beta app description and what to test - Feedback email or link (TestFlight feedback) - Known issues list - Testing checklist for testers 4. Set up crash reporting: - Enable TestFlight crash reporting in Xcode - Integrate Firebase Crashlytics for detailed crashes - Configure alerts for crash spikes 5. Distribute beta builds: - Upload new build → auto-distribute to internal testers - Submit for external testing review (first build only) - Distribute to external testers after approval 6. Collect and triage feedback: - Review TestFlight feedback daily - Create issues from feedback in task tracker - Respond to critical feedback within 24 hours - Track bug reports and feature requests 7. Iterate based on feedback: - Fix critical bugs within 1 week - Address UI/UX issues before public release - Update beta build every 1-2 weeks tests: - Distribution: Verify testers receive build notifications - Feedback: Test feedback submission process - Crash: Verify crash reports appear in Firebase acceptance_criteria: - Internal testing group with all team members - External testing group with 20+ active testers - First beta build distributed and installed successfully - TestFlight feedback channel active - Crash reporting receiving reports - Beta testing checklist provided to testers - Known issues documented and shared - Iteration cycle: new build every 1-2 weeks - Zero critical crashes in last 2 beta builds validation: - TestFlight app → build available for install - External tester installs app → no issues - Submit feedback → appears in App Store Connect - Simulate crash → report appears in Firebase notes: - External testing requires App Review approval for first build - Public link allows anyone to join without invitation - Beta testing typically takes 2-4 weeks before release - Use TestFlight groups to test different features