App Store Screenshots - samyanez94/GoalTracker GitHub Wiki

App Store Screenshots

This guide documents the repeatable screenshot setup for Moku's App Store listing.

Approach

Use the shared GoalTracker Screenshots Xcode scheme when capturing App Store screenshots. This scheme launches the app with the -goaltracker.screenshotData argument, which switches the debug build to an in-memory SwiftData container seeded with screenshot data.

Screenshot seed data, launch arguments, and the container factory live in GoalTracker/PreviewSupport, alongside the SwiftUI preview container.

The seeded data is DEBUG-only and disposable. It does not touch the normal CloudKit-backed store, so rerunning the screenshots scheme starts from a clean, predictable set of goals.

The screenshot seed currently includes:

  • Save for Japan trip with $1,300/$3,000 progress.
  • Run 100 miles tagged Fitness.
  • Read 12 books with a target date six months out.
  • Morning walk tagged Fitness, repeating daily.
  • Finish portfolio website, completed.
  • Donate old clothes, completed.

Capture Setup

  1. Open GoalTracker.xcodeproj in Xcode.
  2. Select the GoalTracker Screenshots scheme.
  3. Select the App Store screenshot device, currently iPhone 17 Pro.
  4. Run the app.
  5. Capture screenshots from Simulator.

For consistency, use the same simulator appearance and status bar setup across a batch. The reference screenshots use 9:41 as the status bar time.

You can use the following terminal command to override the iOS simulator status bar time: xcrun simctl status_bar booted override --time "9:41"

AppScreens Project Update

Use AppScreens to turn the raw simulator captures into App Store-ready framed screenshots.

  1. Go to appscreens.com.
  2. Log in with the account that owns the Moku screenshot project.
  3. Open the Moku project.
  4. Find the existing iPhone screenshot set.
  5. Replace each existing screen image with the newly captured raw simulator screenshot that matches the same screenshot slot.
  6. Keep screenshots localized to English only.
  7. Keep the current screenshot order unless the App Store listing strategy changes.
  8. Review every screenshot preview after replacing images, checking that device frames, captions, and app UI are not cropped or misaligned.
  9. Save the project.

If AppScreens asks for a platform or output group, use the App Store / iOS screenshot project settings.

Export Requirements

Export the updated Moku screenshots from AppScreens using iPhone 6.9-inch display sizes. Export only the English locale, and export files as PNG images.

Accepted App Store portrait sizes for the 6.9-inch iPhone display include:

  • 1260 x 2736
  • 1290 x 2796
  • 1320 x 2868

Use AppScreens' iPhone 6.9-inch display export option even if the raw screenshots were captured from an iPhone 17 Pro simulator. The exported files are the assets intended for App Store Connect.

Save exported PNG files into the screenshots asset folder for review before uploading to App Store Connect.

Required Screenshots

Capture these screenshots for the current App Store set.

Screenshot Appearance Setup Purpose
Goals list Light Launch the app with the screenshots scheme. Leave both Pending and Completed sections visible. Shows the main goal list, tags, recurring goals, completed goals, search, and add action.
New goal form Light Tap Add, enter Study Spanish, open Tags, select Fitness, return to the form, and leave Recurrence, Target Date, and Track Progress off. Shows goal creation and organization with tags.
Japan trip progress detail Light Open Save for Japan trip. Shows measurable progress with $1,300/$3,000, $1,700 more to go, and 43% completion.
Morning walk detail Light Open Morning walk, tap the bottom Completed button, then capture the completed detail screen. Shows a daily recurring habit with Fitness, a 4-day streak, and completed status.
Japan trip progress detail Dark Switch the simulator to Dark appearance, then open Save for Japan trip. Shows the measurable progress detail screen in Dark Mode.

Notes

  • Do not save Study Spanish unless you intentionally want it in later screenshots. If it is saved by accident, stop and rerun the GoalTracker Screenshots scheme to reset the in-memory seed.
  • Morning walk starts incomplete so the list screenshot shows it in Pending. Completing it during capture produces the 4-day streak detail screenshot.
  • The normal GoalTracker scheme should not include -goaltracker.screenshotData; only the screenshots scheme should use that argument.