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 axisPrevious checkChanged check
Real-device checkRepeated mostly on iPhone 17 Pro MaxiPhone 12 mini and iPhone 13 Pro became final check devices
ScreenshotsMostly large App Store screenshotsSE, mini, standard, and Pro Max families checked together
Meaning of verificationInstall/run success was treated like screen-quality confirmationOS-path checks and screen-density checks were separated
Language and modeQuick checks on representative screensChecked combinations of 5 languages with car mode and general mode
ArtifactPass logs and capture imagesCapture 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.

CaseObserved issueChangeVerification
Home heroThe indicator-to-sentence gap exceeded its target range on narrow screensStabilized the four-digit parking count and unit label, and tightened the top spacing of the hero value area5 languages, car/general modes, real-device point-gap measurement on iPhone 12 mini and iPhone 13 Pro
Notification settingsOn 375pt and 390pt screens, the threshold sentence separated from the stepper and lost meaningRewrote narrow-screen copy as a complete sentence and adjusted choice/scroll spacingSE, mini, standard, and Pro Max simulator captures plus required real-device final checks
General-mode widgetThe right side of the medium widget did not reveal information priorityReduced weather/air quality into compact indicator groups and limited events to two linesWidgetKit #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

Comments

    Image preview