Zum Inhalt

App Store Connect submission checklist — iOS + tvOS (Johannes' steps)

Prepared by SP2. The artifacts (privacy manifest, encryption flag, export config, build script, screenshots, metadata, privacy answers) are in the repo. These are the account-bound steps that must be done in App Store Connect / Xcode.

One-time account setup

  • [ ] Apple Developer Program active (Team U9X7M39R56).
  • [ ] Apple Distribution certificate present (Xcode → Settings → Accounts → Manage Certificates → +).
  • [ ] (Free app) Confirm the Free Apps agreement is active in ASC → Agreements, Tax, and Banking.

Create the app record (ONE universal record for iOS + tvOS)

  • [ ] ASC → Apps → + → New App. Platforms: iOS and tvOS. Bundle ID: de.jkaindl.physarum. If "Physarum" is taken, pick an alternative name (see metadata.md) — the bundle id stays.
  • [ ] Set Primary category Entertainment, Age rating 4+ (questionnaire: no objectionable content), Price Free.

Build + upload

  • [ ] Run PHYSARUM... ./scripts/build-appstore.sh (or archive in Xcode: Product → Archive for iOS, then tvOS).
  • [ ] Upload each .ipa via Xcode Organizer → Distribute App → App Store Connect (or Transporter).
  • [ ] Wait for processing; select the build for each platform in ASC.

Listing

  • [ ] Paste name/subtitle/keywords/description/promo from docs/appstore/metadata.md.
  • [ ] Upload screenshots from docs/appstore/screenshots/ (iPhone 6.9", iPad 13", tvOS) — 1 hero + 2 extra stills per size; replace/add as desired.
  • [ ] Upload App Previews (videos) from docs/appstore/app-previews/ — one per size, already at the exact accepted resolution (iPhone 886×1920, iPad 1200×1600, tvOS 1920×1080), ~25 s. Optional but high-value for this app.
  • [ ] App Privacy: answer "Data Not Collected" per docs/appstore/privacy-labels.md.
  • [ ] Support URL + (optional) Marketing URL.

Submit

  • [ ] Add a reviewer note if helpful (mic = audio-reactive visuals; local network = Apple TV control).
  • [ ] Submit for Review (both platforms in the one submission).

Rejection experienced (2026-06-26) — screenshots and preview must show the UI

Screenshots and the App Preview must show the interface on top of the output. A bare visual reads to Apple as a wallpaper and triggers 2.3.3 (misleading screenshots) and 4.2 (minimum functionality) at the same time.

Both are Metadata rejections: replacing the assets continues the same review rather than starting a new one. The preview also needs an audio track.

This is the one rejection this app has taken — check the assets against it before every submission.

Notes / gotchas

  • iOS + tvOS share one record because they share the bundle id de.jkaindl.physarum.
  • macOS is NOT in the App Store — it ships as the notarized Developer-ID DMG (unchanged).
  • Export compliance is pre-answered via ITSAppUsesNonExemptEncryption=false.