Dark appearance is a setting your users switch on without asking you. If you never ran your app in it, some screen will show black text on a dark background. This checklist walks through the places where that happens. Plan 20 to 30 minutes for a first pass.
Set up the test
- Switch appearance in Settings > Appearance (Settings > Display & Brightness on iOS 26 and earlier, per Apple). Also try Control Center: press and hold the brightness control, then tap the Dark Mode icon, so you can flip mid-session.
- Test on a real device, not only the simulator. Screen brightness and contrast look different in your hand.
- Run every pass twice: start the app in light and switch to dark while it is open, then cold-start it in dark.
The checklist
- Text contrast. Read every screen. Look for dark gray text on dark surfaces, and placeholder or disabled text that disappears. Why: hard-coded colors do not adapt. How to check: squint test, then zoom the screenshot and compare text against its background.
- Hard-coded colors. Look for white cards, white sheets or a white navigation bar in an otherwise dark screen. Why: a fixed color ignores appearance. How to check: any element that stays bright after switching is a suspect.
- Images and icons. Check transparent PNGs and icons drawn in black. Why: a black glyph on a dark background is invisible. How to check: open every screen with icons, tab bars and empty states.
- Launch screen. Cold-start the app in dark appearance. A bright flash before the first screen feels like a bug. How to check: watch the first second on a real device.
- Switch while open. Change appearance with the app running. Why: some views only read colors once. How to check: every screen you visited before the switch should update without a restart.
- Keyboards and system UI. Open text fields. The keyboard, alerts, action sheets and date pickers should match the appearance. Why: a light keyboard on a dark form looks unfinished.
- Web views. If you show web content (terms, help, login), check it. Why: web pages do not follow your native colors. How to check: open each web view in dark; a glaring white page is the usual finding.
- Charts, maps and custom drawing. Anything drawn by your own code or a third-party view needs its own check. Why: custom drawing often uses fixed colors.
- Shadows and separators. Shadows barely show on dark surfaces; thin separators can vanish. Check whether cards still read as separate layers.
- Screenshots in the store listing. Not a bug, but decide if you show light, dark or both and make sure they match the app.
Record what you find
Write each finding as: screen, appearance, what you expected, what you saw, and a screenshot. A short list like that is easy to fix.
Also useful: Dynamic Type and VoiceOver passes catch a different class of layout and accessibility issues.
Get a second pair of eyes
You know your own app too well to see its dark corners. On AppReviewX, other developers give you private, structured feedback on their own devices; one feedback you write earns one credit that buys feedback on your app. New accounts start with 0 credits.
More in the hub: iOS app testing guide. Related: Dynamic Type testing, VoiceOver test script.