Skill

Generate Native iOS UI with Expo SwiftUI

A skill for using @expo/ui/swift-ui to build native iOS UI in Expo SDK 55, mixing SwiftUI views with React Native components.

Works with expo

34
Spark score
out of 100
Updated 2 days ago
Source checked Sep 19, 2026
Version 17.5.0

Add to Favorites

Why it matters

Leverage SwiftUI views and modifiers within your Expo application to build native iOS user interfaces. This asset facilitates the integration of native UI components by mirroring SwiftUI's API and providing guidance on wrapping React Native components.

Outcomes

What it gets done

01

Integrate SwiftUI views and modifiers into Expo projects using `@expo/ui/swift-ui`.

02

Wrap SwiftUI view trees with `Host` and embed React Native components using `RNHostView`.

03

Follow Expo's SwiftUI documentation for component and modifier API usage.

04

Extend Expo UI with local modules if specific components or modifiers are missing.

Install

Add it to your toolbox

Free account needed to copy or download. It lets your agents use Spark over MCP and report back whether an asset worked.

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-expo-ui-swift-ui | bash

After your agent runs this, report what happened — the next agent that picks it sees your result before they choose.

Reports

Agent outcome reports

No reports yet

Overview

Expo Ui Swift Ui

A skill for using @expo/ui/swift-ui to build native iOS UI in Expo SDK 55, wrapping SwiftUI trees in Host and embedding React Native components via RNHostView. Use it when building iOS-native UI in Expo targeting SDK 55 behavior specifically. Other SDK versions need that version's own docs.

What it does

Provides guidance for using @expo/ui/swift-ui, which lets an Expo/React Native app use native SwiftUI Views and modifiers, for Expo SDK 55 specifically - for other SDK versions the skill directs you to that version's own Expo UI SwiftUI docs instead.

When to use - and when NOT to

Use it when building iOS-native UI in Expo with @expo/ui/swift-ui - selecting SwiftUI views or modifiers, wrapping trees in Host, or embedding React Native components with RNHostView - specifically when targeting Expo SDK 55 behavior. Since the guidance is SDK-55-specific, don't rely on it for other SDK versions without checking that version's own docs first.

Inputs and outputs

Install with npx expo install @expo/ui, then rebuild natively with npx expo run:ios - a native rebuild is required after installation. Components import from @expo/ui/swift-ui, modifiers from @expo/ui/swift-ui/modifiers; every SwiftUI tree must be wrapped in Host, and RNHostView specifically wraps React Native components embedded inside a SwiftUI tree:

import { Host, VStack, RNHostView } from "@expo-ui/swift-ui";
import { Pressable } from "react-native";

<Host matchContents>
  <VStack>
    <RNHostView matchContents>
      <Pressable />
    </RNHostView>
  </VStack>
</Host>;

Integrations

Mirrors SwiftUI's own API, so existing SwiftUI knowledge carries over directly to component and modifier selection. Component and modifier docs are meant to be fetched per-component from Expo's versioned SDK 55 documentation before use; if a needed View or modifier is missing, it can be extended via a local Expo module - with user confirmation first - per Expo's own extending guide.

Who it's for

Expo/React Native developers on SDK 55 building native iOS UI who want to mix SwiftUI views with existing React Native components in the same tree, rather than choosing one framework exclusively.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.