Handle empty screens and errors
Help people understand what is happening, even when there is nothing to show yet.
Make empty, waiting and error states clear and recoverable.
Let’s do this
- 1In Codex
Open the app with no records
Use disposable test data. Check what a new person sees before adding anything. Replace a blank list with a short explanation and a clear way to add the first item.
- 2In Codex
Try incomplete information
Leave a required field blank, enter too much text or cancel halfway through. The app should explain what needs fixing and keep useful input where possible.
- 3In Codex
Think about waiting and failure
If your app loads online information, show that it is loading, avoid duplicate taps and provide a useful message when the request fails. A local-only app does not need a fake loading spinner.
- 4In Codex
Give the person a way forward
Use specific messages: “We could not save this. Your notes are still here. Try again.” Confirm before deleting important information, and offer undo where practical.
View largerA message for Codex
Check my first iPhone app for the empty state, missing input and failed operations relevant to [describe the problem my app should solve]. Use short, helpful British English messages that say what happened and what the person can do next. Preserve typed information after failures. Prevent repeated taps from creating duplicates. Keep the app’s existing behaviour and test the failure paths you change.
What you should see
An empty list explains what to do next. Invalid input gets a useful message. A failure does not silently lose someone’s work.
If you get stuck
Checked 7 September 2026. Screens can change; the official guides below have the latest steps.
Apple’s design guidanceApple’s App Review Guidelines