iOS Visual QA for Small iPhones
An iOS release gate for checking sentence meaning, density, and hierarchy on small iPhones
Hangangjari release candidates displayed without text clipping on an iPhone 17 Pro Max. The same screens on small iPhones exposed problems in number spacing, notification copy, and widget density.
Install and launch checks are now separate from screen-size visual checks, and small iPhones are a required release gate.
Testing Biased Toward Large Screens
Release-candidate records included unit tests, screenshots, and real-device install and launch checks. Repeated checks and App Store screenshots centered on the iPhone 17 Pro Max, while sentence meaning and information density on small screens had no separate verification step.
A successful install and launch on a large device did not verify sentence meaning or information density on small screens.
| Check axis | Previous check | Changed check |
|---|---|---|
| Real-device check | Repeated mostly on iPhone 17 Pro Max | iPhone 12 mini and iPhone 13 Pro became final check devices |
| Screenshots | Mostly large App Store screenshots | SE, mini, standard, and Pro Max families checked together |
| Meaning of verification | Install/run success was treated like screen-quality confirmation | OS-path checks and screen-density checks were separated |
| Language and mode | Quick checks on representative screens | Checked combinations of 5 languages with car mode and general mode |
| Artifact | Pass logs and capture images | Capture images plus measurement records |
Large screens remain useful for quickly checking information structure and basic behavior. Small-screen checks add separate criteria for spacing, line breaks, button positions, accessibility text sizes, and widget density.
Different Bugs on Small Screens
Small-screen checks covered clipping, sentence meaning, and information priority.
The home hero keeps a four-digit parking count and unit label on one line. A separate vertical-gap measurement caught excessive space between the park indicator and large sentence on narrow screens.
SwiftUI layouts use points (pt), so the 3x screenshots from real devices were converted from pixels to points. Before adjustment, the gap between the indicator and large sentence was 86-87px, or 28.7-29.0pt. After adjustment, it was 74-75px, or 24.7-25.0pt. The target range for small iPhones was 22-26pt.
On a small screen with the favorite notification row expanded, the parking-space threshold sentence separated from the stepper. The screen showed an incomplete sentence such as “Notify me when fewer than spaces are left.”
The narrow right side of the general-mode medium widget contained weather, fine dust, ultrafine dust, events, date, and a bottom action button. Weather and air-quality display were reduced and events were limited to two lines to preserve scanning order.
| Case | Observed issue | Change | Verification |
|---|---|---|---|
| Home hero | The indicator-to-sentence gap exceeded its target range on narrow screens | Stabilized the four-digit parking count and unit label, and tightened the top spacing of the hero value area | 5 languages, car/general modes, real-device point-gap measurement on iPhone 12 mini and iPhone 13 Pro |
| Notification settings | On 375pt and 390pt screens, the threshold sentence separated from the stepper and lost meaning | Rewrote narrow-screen copy as a complete sentence and adjusted choice/scroll spacing | SE, mini, standard, and Pro Max simulator captures plus required real-device final checks |
| General-mode widget | The right side of the medium widget did not reveal information priority | Reduced weather/air quality into compact indicator groups and limited events to two lines | WidgetKit #Preview sizes, accessibility text sizes, focused widget tests, and real-device final checks |
All three cases became checks that verify whether meaning and priority survive on a small screen.
Visual QA as a Release Gate
Small-screen verification became a repeatable release gate.
Home-screen capture and measurement now run as one check flow. The app opens with the same data state, saves each device, language, and mode combination, and records measurements for important first-screen positions.
Captured pixel coordinates are converted to points with the device scale. The layout is compared using points and position relative to screen height.
PPI and native pixel resolution identify the device that produced each capture. UI space is evaluated in points and by position relative to screen height.
The verification matrix is:
- Real devices: iPhone 12 mini, iPhone 13 Pro
- Simulators: iPhone SE 3, iPhone 12 mini, iPhone 17, iPhone 17 Pro Max
- Languages: Korean, English, Japanese, Simplified Chinese, Traditional Chinese
- Modes: car, general
The matrix produced 60 screenshots for home-screen density checks. The indicator-to-hero gap, hero start, forecast area, and first-section start were measured using points and screen-height ratios. Measurements and captures were compared across small, standard, and large screens.
Numeric ranges guide review. For example, the gap between the indicator and hero sentence should stay within 22-26pt. When language-specific text height or a position ratio falls slightly outside a threshold, the capture is checked for clipping, unintended line breaks, and loss of first-screen context.
Automated capture and measurement identify missing device, language, and mode combinations for human review.
Failure Coverage by Test Type
SwiftUI and WidgetKit failures are checked separately with unit tests, previews and simulators, and real devices.
Unit tests check display state and large-number inputs. Rules such as four-digit parking counts, hero value areas by mode, and widget display-value construction are fixed before rendering.
#Preview and simulator screenshots expand screen-size and Dynamic Type coverage. Medium widgets are checked at 329x155pt, 338x158pt, and 364x170pt, plus XXXL and Accessibility2 text sizes. The resulting density issues are addressed by reducing the information displayed within the small point space.
After simulator coverage, installation, launch, and layout receive final verification on an iPhone 12 mini and iPhone 13 Pro. The large-screen device is no longer part of the required final-check path.
Release records state what each check covers and what it cannot verify.
A Test Matrix Beyond the Main Device
Hangangjari’s supported range includes small screens, large Dynamic Type, standard screens, and large screens. The release gate starts with the failure-prone small-screen and large-Dynamic-Type cases. Each check records whether it covers launch behavior, preserved sentence meaning, or widget density.
Apple’s Layout guidance recommends previewing across devices, localizations, and text sizes.
Comments
No comments yet. Be the first to leave one.
Pending review