Uploading Screenshots in App Store Connect: A Practical Walkthrough
You can build every screenshot to spec and still get stuck at the App Store Connect upload screen. The required device-class combinations shift, and a single misconfigured file will often throw an error without telling you why. This post covers the practical order to work in, the errors you'll most likely run into, and what to double-check before submitting for review.
Upload Order
Screenshot uploads happen either through Media Manager or the screenshots section of each app version. The general flow:
- 1. Pick a localization. You need to register screenshots separately for each language your app supports. The usual approach is to finish your primary language set first, then copy or rebuild it for the rest.
- 2. Upload per device class. Fill in images for each device class App Store Connect displays — largest iPhone, iPad, and so on. Which classes are mandatory and which get auto-scaled from a larger size changes over time, so follow whatever the upload screen tells you at the moment you're working, not an old spec sheet.
- 3. Set the order. With multiple screenshots, you can drag to reorder them. The first one or two carry the most weight in a buyer's decision, so choose carefully.
- 4. Check the preview. App Store Connect shows how the screenshots will actually render on the store page — always check this before saving.
Requirements by Device Class
App Store Connect adjusts its required screen-size classes every time Apple ships new hardware. Typically, at least one full set is required for the largest iPhone and for iPad, with other sizes auto-scaled from those and exempted from separate uploads. But this changes with every new device release, so the only reliable source is whatever App Store Connect's upload screen shows you at that moment. Working from an old blog post or a spec sheet you saved a while back is a good way to get your submission bounced.
Common Errors and Fixes
| Error | Fix |
|---|---|
| "Image doesn't match required resolution" | Re-check the source file's exact dimensions — rounding during export from your design tool is a frequent culprit |
| File format error | Confirm the accepted format (PNG, JPEG, etc.) and color space, including whether an alpha channel is present |
| Can't save because a required device class is missing screenshots | Check that every device class marked as required for that app version has screenshots attached |
| Upload succeeds but the preview looks broken | Usually a browser cache issue — refresh and recheck; if it persists, re-export and re-upload the file |
Resolution-mismatch errors almost always trace back to a design tool rounding a decimal canvas value, leaving the actual file off by a pixel or two. Get in the habit of checking the exact pixel dimensions in the file's info panel right before exporting — it'll save you a round of debugging later.
Final Checks Before Submitting
Don't submit for review the moment uploading is done. Run through this list first:
- Are screenshots registered for every localization your app supports?
- Does the build you're submitting actually match what's shown in the screenshots (no leftover dev UI)?
- Is there any placeholder text or dummy data visible in the frame?
- Is the order what you intended, with the strongest image first?
For the specific reasons Apple rejects apps over screenshots, Why App Review Rejects Screenshots goes into more detail — worth reading before you upload, since it can save you a round trip through rejection and resubmission.
Cutting Down on the Repetitive Work
Resizing the canvas and repositioning text for every device class adds up fast once you're maintaining multiple localizations. StoreShot exports screenshots at the exact dimensions required for each iOS device class in one pass, which cuts down on the resolution-mismatch errors that tend to show up at upload time.
Takeaway
App Store Connect uploads get confusing fast once you're juggling languages, device classes, and file specs at once — but working in order off whatever the upload screen currently tells you, and double-checking exact pixel values right before export, prevents most errors. Run the final checklist before submitting, and you'll cut down significantly on rejection-driven resubmission cycles.