Compatibility
What runs where, and when we checked.
Verified on iOS 26 and on Android 16 with Material 3 Expressive. iOS 27 support is in progress. Nothing below says verified without a recorded run behind it.
Compatibility by platform version
| Area | iOS 26Liquid Glass | iOS 27Liquid Glass, revised | Android 16Material 3 Expressive · API 36 | Android 17Material 3 Expressive · API 37 |
|---|---|---|---|---|
| App shell and navigationThe tab bar, headers, provider order and scroll insets every generated app is built on. | Verified on 2026-10-07, re-check dueiPhone 17 Pro / iOS 26.4 simulatorThe code behind this has changed since it was checked, so the check needs re-running. | In progress | Verified on 2026-10-07, re-check duePixel 8 / Android 16 (API 36) emulatorThe code behind this has changed since it was checked, so the check needs re-running. | Not yet |
| ComponentsThe catalog components a screen is built from. | Verified 2026-10-07iPhone 17 Pro / iOS 26.4 simulator | In progress | Verified 2026-10-07Pixel 8 / Android 16 (API 36) emulator | Not yet |
| Starter appsThe ten whole apps you can start from. | Verified on 2026-10-07, re-check dueiPhone 17 Pro / iOS 26.4 simulatorThe code behind this has changed since it was checked, so the check needs re-running. | In progress | Verified on 2026-10-07, re-check duePixel 8 / Android 16 (API 36) emulatorThe code behind this has changed since it was checked, so the check needs re-running. | Not yet |
| Exported projectA generated project built outside this workspace, the way a customer builds it. | Verified on 2026-09-29, re-check dueiPhone 17 Pro / iOS 26.4 simulatorThe code behind this has changed since it was checked, so the check needs re-running. | In progress | Verified on 2026-09-29, re-check duePixel 8 / Android 16 (API 36) emulatorThe code behind this has changed since it was checked, so the check needs re-running. | Not yet |
| WhyThe same reason on every row of that column. | Built with Xcode 27, an Expo app crashes at launch on iOS 27 unless it opts into the UIKit scene life cycle: the expo package at 57.0.23 or later and expo-build-properties at 57.0.20 or later, setting ios.enableSceneSupport. Expo SDK 56 cannot opt in. Nobody has yet run one of our exports built with Xcode 27 on iOS 27, so build with Xcode 26 until then. | Our apps target API 36, so Android 17 runs them under the old rules. That is expected, not checked: nobody has run the starter apps on an API 37 device. |
iOS 26 Liquid Glass
- App shell and navigation
- Verified on 2026-10-07, re-check dueiPhone 17 Pro / iOS 26.4 simulatorThe code behind this has changed since it was checked, so the check needs re-running.
- Components
- Verified 2026-10-07iPhone 17 Pro / iOS 26.4 simulator
- Starter apps
- Verified on 2026-10-07, re-check dueiPhone 17 Pro / iOS 26.4 simulatorThe code behind this has changed since it was checked, so the check needs re-running.
- Exported project
- Verified on 2026-09-29, re-check dueiPhone 17 Pro / iOS 26.4 simulatorThe code behind this has changed since it was checked, so the check needs re-running.
iOS 27 Liquid Glass, revised
- App shell and navigation
- In progress
- Components
- In progress
- Starter apps
- In progress
- Exported project
- In progress
Built with Xcode 27, an Expo app crashes at launch on iOS 27 unless it opts into the UIKit scene life cycle: the expo package at 57.0.23 or later and expo-build-properties at 57.0.20 or later, setting ios.enableSceneSupport. Expo SDK 56 cannot opt in. Nobody has yet run one of our exports built with Xcode 27 on iOS 27, so build with Xcode 26 until then.
Android 16 Material 3 Expressive · API 36
- App shell and navigation
- Verified on 2026-10-07, re-check duePixel 8 / Android 16 (API 36) emulatorThe code behind this has changed since it was checked, so the check needs re-running.
- Components
- Verified 2026-10-07Pixel 8 / Android 16 (API 36) emulator
- Starter apps
- Verified on 2026-10-07, re-check duePixel 8 / Android 16 (API 36) emulatorThe code behind this has changed since it was checked, so the check needs re-running.
- Exported project
- Verified on 2026-09-29, re-check duePixel 8 / Android 16 (API 36) emulatorThe code behind this has changed since it was checked, so the check needs re-running.
Android 17 Material 3 Expressive · API 37
- App shell and navigation
- Not yet
- Components
- Not yet
- Starter apps
- Not yet
- Exported project
- Not yet
Our apps target API 36, so Android 17 runs them under the old rules. That is expected, not checked: nobody has run the starter apps on an API 37 device.
Generated from our run records on . It changes when somebody runs something, not when somebody edits a page.
Reading the table
What each status means.
- Verified
- Built and run end to end on that version, on a device or simulator, and stamped with the date and the hardware.
- Re-check due
- It was run and recorded, but the code or the Expo SDK has changed since, or it is over 60 days old, so we will not call it current until somebody runs it again.
- In progress
- Being worked on now. Do not ship on it yet.
- Not yet
- Not started. It moves to In progress before it can be verified.
Toolchain
What you build with.
- You need a Mac with Xcode 26 to build the iOS app. Android needs only the Android SDK.
- Xcode 27 support is in progress: an Expo app built with Xcode 27 crashes at launch on iOS 27 unless it opts into the UIKit scene life cycle, which takes expo 57.0.23 or later and expo-build-properties 57.0.20 or later, with ios.enableSceneSupport. Expo SDK 56 and earlier cannot opt in; new exports turn it on, and Xcode 26 stays the requirement until we have run an Xcode 27 build on iOS 27.
- Android needs the Android SDK at API 36 and no Mac.
- Exports target Expo SDK 57 and React Native 0.86.3; building one needs Node 22.13 or later.
- Expo Go cannot run the app, because several components use real native controls, so it needs a development build.
- The deployment targets are iOS 16.4 and Android 7 (API 24); only the versions above have been run