Scout — Full Product Context → feature documentation

iPad support

Scout runs as a native iPad app (UIDeviceFamily iPhone + iPad), full screen and locked to portrait like the iPhone build. It uses the phone layouts at iPad size; there are no iPad-specific layouts, no landscape, and no Split View / Slide Over.

Summary

Scout is a native iPad app: on an iPad it fills the screen at the iPad's own size (820×1180pt on an iPad Air 11", up to 1032×1376pt on a 13" iPad Pro) instead of running in a small iPhone window. It is locked to portrait and full screen only, exactly like the iPhone build. The screens are the phone screens, laid out at the wider size; the map gains the most from the room.

Status

Shipped in v1.1.102 (built 2026-10-07, aa4cdd6b; mobile/app.json:23 reads supportsTablet: true from that tag on, and in every build since, including the current 1.1.114). It is native configuration, so it could not ship over the air (and editing app.json changes the fingerprint runtime version; see mobile/docs/OTA_UPDATES.md). Every build up to and including 1.1.101 is iPhone-only (supportsTablet: false): iPads run it in iPadOS's iPhone compat window, a 375×667 iPhone SE / 8–sized frame scaled up.

Why it changed: App Review rejected 1.1.100 (Guideline 4, "text is truncated", iPad Air 11" on iPadOS 27). In the compat window the onboarding rarity cards ran under the CTA and a patch name ellipsized (fixed separately — see onboarding, Edge cases, "The rarity grid on small screens"). Running natively on iPad removes the compat window for every iPad user; the small-screen fix still matters for iPhone SE / 8 / mini.

User-facing surfaces

Every screen of the app, at iPad size. Nothing is iPad-only.

How it works

Two keys in mobile/app.json → expo.ios:

The second one is the portrait lock, and it is not optional. With supportsTablet alone, Expo's RequiresFullScreen config plugin overwrites UISupportedInterfaceOrientations~ipad with all four orientations, because App Store validation (ITMS-90474) rejects a multitasking iPad app that cannot rotate — so the iPad would rotate. With requireFullScreen, no iPad-specific list is written and iPadOS falls back to UISupportedInterfaceOrientations, which "orientation": "portrait" sets to portrait and portrait-upside-down.

Data model

None.

API surface

None.

Key files

Configuration and flags

No feature flag. It is fixed at build time by the two app.json keys above.

Edge cases and known limits

What this feature does NOT do

Tests that cover it

Open questions