Design QA Checklists for iOS
Design QA is the last honest look at a screen before a tester believes it. It is not a taste debate. It is a list of states the user will hit when they are tired, late, or on a small iPhone. At Croncode a sprint is not done when the happy path matches Figma. It is done when the checklist below has a named pass. Co-founder Yusufhan Sokur owns design and web. This is the mobile bar we share with engineering in Istanbul.
Design QA on iOS is a binary pass on a small phone, Dynamic Type, empty and error states, and dark mode. A Figma file is not QA.
What is on the first-pass list?
- Smallest current iPhone width, not only a Pro Max.
- Dynamic Type at least two steps above default.
- Empty, loading, error, and success for the first job.
- Light and dark, including bars, sheets, and keyboards if you tint them.
- VoiceOver labels on icon-only buttons.
Accessibility has a fuller page: accessibility basics. Empty states: empty states that teach. Trust UI: trust patterns. Premium chrome without clutter: premium consumer UI.
Which screens fail most often?
| Screen | Typical miss | Fix |
|---|---|---|
| Onboarding | English-only, no skip | Localize meaning. Onboarding localization |
| Paywall | Restore hidden | Honest paywall |
| AI result | No timeout or retry | Fail-safe AI |
| Home | Marketing hero, no object | Show the job. Week two |
Jobs we test against: YourStyle photos and outfits, Numira a structured choice, Spylie a case, Luviport a journey. Catalog: what Croncode builds.
When does design QA block a store build?
When the first job cannot be finished, when a destructive action has no confirm, when contrast fails on the primary CTA, or when the listing screenshots show a layout the binary does not have. Fake ranks on a screenshot are a block. ASO honesty: ASO playbook.
Crash-level UI hangs are also a block. Founders should ask about sessions: crash-free questions. Sprint demos must show the QA pass, not a recorded happy path: sprint demo.
How do we run QA in a lean week?
One designer pass, one engineer pass, one device that is not the daily driver. Write the build number on the note. If the team is splitting store work and client work, do not skip the small phone. Resource hours: small team, multiple products. Shipping: Istanbul shipping.
Founder: Goktug Unver. Team: Ozgur Ismet Ozkan.
What mistakes pretend to be polish?
- Hardcoded heights that clip at large text: the checklist exists because this repeats.
- Dark mode as inverted hex: semantic tokens, or you will ship gray-on-gray.
- Push permission on first frame: earn it. Push permission.
- QA only on Wi-Fi: the AI path must fail safe on a bad radio.
Choose a studio that will show this list: choose an iOS studio. Quote: what to send. Hire: hire. Custom: custom software. Contact: contact. Journal: /en/journel/.
What should a client attach to the ticket?
A screenshot, the Dynamic Type setting, light or dark, and the exact string they expected. “Looks off” is not a ticket. If you are handing a codebase in, include the current Figma and the known QA debt: handover. Localization debt belongs on the same list if Turkish and English both ship: localization.
We will not treat a marketing site as a substitute for device QA. If the site is WordPress, it has its own pass: cPanel deploys.
Frequently asked questions
Is TestFlight enough for design QA?
TestFlight is the right binary. You still need a human with a list. A tester who only taps the happy path is not QA.
Do we QA iPad on every consumer app?
If the listing claims iPad, yes. If you are iPhone only, say so in the store metadata and do not show iPad chrome in screenshots.
Who signs the checklist at Croncode?
Design signs visual and copy states. Engineering signs layout under type and the empty data path. Both names go on the note.
Can we skip dark mode for version one?
Only if you force light mode on purpose and test that force. A half dark mode is worse than a declared light app.
Where does this sit in a quote?
In the increment definition. If QA is “later,” the first store screenshots will lie. Process: fixed scope vs agile.
