# Ship The iOS App

> From the iOS project in the repo to a build on TestFlight: configuration, app signing, the secrets check, archiving and uploading.

- URL: https://dantech.academy/en/courses/kotlin-accelerator/engineer-builder/05-testing-security-release/lesson-07-ship-ios-app
- Course: [Mobile Action Pro](https://dantech.academy/en/courses/kotlin-accelerator.md)
- Module: Testing, Security, and Release
- Duration: 15 min
- Difficulty: intermediate
- Access: Enrolled students
- Tiếng Việt: https://dantech.academy/courses/kotlin-accelerator/engineer-builder/05-testing-security-release/lesson-07-ship-ios-app.md

## Objectives

- Fill in Config.xcconfig correctly for your bundle id, team, Google Sign-In and RevenueCat
- Run the secrets check, increase the build number, archive and upload to App Store Connect
- Go through the App Store checklist (icon, privacy manifest, export compliance, devices, sign-in, account deletion) before your first upload

## In this lesson

1. Lesson Goal
2. Part 1: What The iOS Project In The Repo Looks Like
3. Part 2: Fill In Config.xcconfig
4. Part 3: Sign The App
5. Part 4: Version And Build Number
6. Part 5: Check Secrets Before Archiving
7. Part 6: Checklist Before Submitting To The App Store
8. Part 7: Archive And Upload
9. Part 8: TestFlight
10. Troubleshooting Table
11. References
12. Key Points

## Study with an AI agent

The full lesson is for students of this course. Students open the lesson on the web and press **Markdown** to copy all of it, then paste it into Claude, ChatGPT, Cursor or whichever agent you use. Faster: mint a token at `/profile/ai-agents` and your agent reads lessons over MCP.

- [Join the course](https://dantech.academy/en/kotlin-accelerator/checkout)

---

- Previous lesson: [CI For KMP](https://dantech.academy/en/courses/kotlin-accelerator/engineer-builder/05-testing-security-release/lesson-06-ci-for-kmp.md)
- Next lesson: [Run The Release Readiness Check](https://dantech.academy/en/courses/kotlin-accelerator/engineer-builder/05-testing-security-release/lesson-05-run-release-readiness-check.md)
