Expo SDK 58
Expo SDK 58 targets iOS 27 and introduces the UIKit scene-based lifecycle. Apps built with SDK 58 are ready for iPhone Duo on day one, on both displays. AniUI's 150 components re-lay out automatically when the scene is resized.
What's new in SDK 58#
- iOS 27 + scene lifecycle. UIKit scene delegate manages window state. Apps are now resizable;
requireFullScreenno longer opts out of resizing on iOS 27. - React Native 0.88 (up from 0.86 in SDK 57), including Strict TypeScript API as the default.
- Node 22.13+ required (or 24.3+, or 26+). Odd-numbered Node releases aren't supported.
- expo-hinge for iPhone Duo + Android foldable hinge state. AniUI's useFoldFeatures() hook consumes it transparently.
- Faster builds. Expo Modules now ships precompiled Android native libraries; clean debug builds dropped from ~80s to ~39s in Expo's test.
- expo-glass-effect reports Liquid Glass as available when built against iOS 27.
- Breaking changes: foreground notifications show by default;
File.write()is now async (usewriteSync()for the old behavior); libSQL support was removed from expo-sqlite.
See the full Expo SDK 58 changelog for the complete list.
Pinned versions#
AniUI's SDK 58 version bucket is the single source of truth for native dep versions on this SDK.
# Pinned by Expo SDK 58 (expo@~58.0.0)
expo ~58.0.0
react 19.3.0
react-native 0.88.0
react-native-reanimated 4.7.1
react-native-worklets 0.13.0 # required peer of Reanimated 4
react-native-gesture-handler ~3.3.0 # v3 — major jump from SDK 57's v2
react-native-safe-area-context ~5.10.1
react-native-screens ~4.30.0
react-native-svg 15.16.0
expo-hinge ~58.0.1 # optional: iPhone Duo / foldable supportFresh install#
# Fresh Expo SDK 58 project — iOS 27, iPhone Duo ready
npx create-expo-app@latest my-app --template default@sdk-58
cd my-app
# Run AniUI init — defaults to Uniwind, picks the SDK 58 bucket automatically
npx @aniui/cli init --yes
# Opt into fold-aware overlays (iPhone Duo / Android foldables)
npx expo install expo-hinge
# Start
npx expo start -cMigration from SDK 57#
# Migration from Expo SDK 57 → 58
# 1. Bump Expo + React / React Native
# (expo install pins the right versions for each SDK)
npx expo install expo@~58 [email protected] [email protected]
# 2. Bump the animation stack: Reanimated 4.5 → 4.7.1, worklets 0.10 → 0.13
npx expo install react-native-reanimated react-native-worklets
# 3. Bump the rest of the native stack
# Note: react-native-gesture-handler jumps from v2 to v3 on SDK 58.
npx expo install react-native-gesture-handler react-native-safe-area-context react-native-screens react-native-svg
# 4. (Optional) Install expo-hinge for iPhone Duo fold-aware overlays
npx expo install expo-hinge
# 5. Scene-based lifecycle: npx expo prebuild regenerates SceneDelegate.swift.
# If you had a customized AppDelegate.swift, you'll need to migrate the
# callbacks (they're now delivered via the scene delegate instead).
# 6. Node version: SDK 58 requires Node 22.13+, 24.3+, or 26+.
# Odd-numbered Node releases aren't supported.
nvm install 22.13 && nvm use 22.13
# 7. Components + config — no changes needed. Same engine, same templates.See also: iPhone Duo guide · Compatibility matrix · Previous: Expo SDK 57

