Skip to content

feat(mobile): run natively on iPad - #8736

Draft
johnmatthewtennant wants to merge 1 commit into
mainfrom
jtennant/oliver/mobile-ipad
Draft

johnmatthewtennant wants to merge 1 commit into
mainfrom
jtennant/oliver/mobile-ipad

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The iOS app targeted iPhone only (TARGETED_DEVICE_FAMILY = 1), so on an iPad it ran as a scaled-up iPhone app. It now targets iPhone and iPad.

  • TARGETED_DEVICE_FAMILY = "1,2" at the project level, which the Runner and NotificationService targets inherit.
  • UISupportedInterfaceOrientations~ipad lists all four orientations. iPad multitasking requires them unless the app sets UIRequiresFullScreen (App Store validation ITMS-90474); this keeps multitasking available.
  • The AppIcon catalog already contains every iPad size, and no code locks orientation.

This is the smallest step to a native iPad build; iPad-specific layouts are follow-ups. Shipping it to the App Store also requires iPad screenshots in App Store Connect.

Related issue

None found.

Testing

Built and launched on an iPad Pro 11-inch (M5) simulator (iOS 26.5): onboarding renders full-width and centered, with no layout exceptions in the log. Landscape, Split View sizes and sheets have not been exercised yet.

Screenshots

Onboarding at the PR head on an iPad Pro 11-inch (M5) simulator, landscape, filling the screen natively:

Native iPad onboarding

The iOS app targeted iPhone only, so on an iPad it ran as a scaled
iPhone app. Target both device families and support all four iPad
orientations, which iPad multitasking requires unless the app opts
out with UIRequiresFullScreen (App Store error ITMS-90474).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: John Tennant <jtennant@squareup.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant