Files
tabatago/docs/app-store-submission.md
millianlmx 6cc25300d1
Some checks failed
PR → Build → Firebase OTA → LGTM / Build & Deploy to Firebase OTA (pull_request) Failing after 4m2s
PR → Build → Firebase OTA → LGTM / Wait for LGTM comment (pull_request) Has been skipped
fix: change bundle ID from com.tabatago.app to fr.millianlmx.tabatago
2026-06-27 08:29:33 +00:00

2.8 KiB

App Store Submission

Prerequisites

Before triggering the CI pipeline, you need:

  1. Apple Developer Program membership (paid, $99/year)
  2. App Store Connect access with Admin or App Manager role

Step 1: Create App Store Connect API Key

  1. Go to App Store Connect → Users and Access → Integrations → App Store Connect API
  2. Click Generate API Key (or "+" button)
  3. Name it: GitHub Actions CI
  4. Set access to: App Manager (required for auto-signing + upload)
  5. Download the .p8 file immediately (you cannot re-download it later)
  6. Note the Key ID and Issuer ID displayed on the page

Step 2: Add GitHub Secrets

Go to your GitHub repo → Settings → Secrets and variables → Actions → New repository secret.

Secret Name Value
APP_STORE_CONNECT_KEY_ID The Key ID from Step 1 (e.g., ABC123XYZ)
APP_STORE_CONNECT_ISSUER_ID The Issuer ID from Step 1 (UUID format)
APP_STORE_CONNECT_API_KEY_P8 The entire contents of the .p8 file, including -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- lines

Step 3: Trigger the Submission

Push a version tag to the repository:

git tag v1.0.0
git push origin v1.0.0

Or run manually:

  • Go to Actions tab → App Store SubmissionRun workflow

What Happens

  1. GitHub Actions runner (macOS) checks out your code
  2. Archives the app with Xcode auto-signing
  3. Exports an App Store IPA
  4. Uploads to App Store Connect
  5. The first upload automatically creates the app record in App Store Connect (bundle ID: fr.millianlmx.tabatago)

After Upload

  1. Go to App Store Connect → Apps
  2. Select TabataGo
  3. Complete the App Information (description, screenshots, keywords, etc.)
  4. Complete the Pricing and Availability section
  5. Go to the new build under TestFlight or App Store tab
  6. Submit for review

Troubleshooting

Symptom Likely Cause
"No accounts with iTunes Connect access" API key doesn't have App Manager permissions — recreate the key with correct access
"No profiles found" The bundle ID fr.millianlmx.tabatago isn't registered yet — check Apple Developer portal
"Duplicate build number" Build number already used — bump CFBundleVersion in project.yml and re-tag
"Authentication failed" API key was revoked, expired, or secret is misspelled — verify secrets in repository settings

Build Number Increments

Each submission requires a unique build number. Edit tabatago-swift/project.yml:

  • Change CFBundleVersion: "2""3" in all three targets (TabataGo, TabataGoWatch, TabataGoWatchWidget)
  • Then regenerate the project: cd tabatago-swift && xcodegen