Placeholder text and unfinished screens visible to users
Placeholder text that a user can see reads as an app that is not finished, and that is a rejection reason on its own. The same goes for a path that ends in a crash where a feature should be.
Why it matters
Reviewers are explicitly looking for completeness. An app with a screen full of lorem ipsum, or a button that leads to a blank view, is not evaluated on the parts that work.
Unimplemented paths that call fatalError are the harsher version: the app terminates rather than showing an unfinished screen, and a crash during review is the clearest possible failure.
These survive because they are in the corners: a settings screen, an empty state, an error case, a screen reachable only from a path you stopped using during development but a reviewer will try.
Empty states are the most common single case. They are written last, they are hard to reach while you have test data, and they are the first thing a reviewer sees because a reviewer arrives with an account that has nothing in it.
A reviewer also exercises the app differently from you. They tap things in the order they find them rather than the order the flow intends, which is precisely how a half-finished screen gets found.
How to fix it
- Write real copy for every user-visible string, including empty states and error messages.
- Replace fatalError in reachable paths with behaviour, even if the behaviour is an honest message that the feature is not available yet.
- Walk the app with a brand new account and no data, which is the state a reviewer starts in and the state your own device has not been in for months.
- Walk the app looking for screens you have not opened in weeks, which is where these live.
The guidelines behind it
Read from Apple’s App Review Guidelines as last updated October 16, 2026.
Worth knowing
Ordinary TODO comments are deliberately not reported. A TODO in code is normal engineering; placeholder text in the interface is not, and a check that flagged both would be ignored.
What ReviewAhead checks
Placeholder user-facing copy. Placeholder text visible to users reads as an unfinished app.
- Lorem ipsum and similar filler text.
- Placeholder strings in user-facing positions.
- Unimplemented fatalError paths.
- Reports the file and the line for each, so the fix starts at the string rather than at a search.
Apple’s own documentation for this requirement: developer.apple.com. Where this page and Apple disagree, Apple is right and this page is a bug.