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.