关于 expo-ui-swift-ui
此技能指导开发者在 Expo 中使用 `@expo/ui/swift-ui` 构建 iOS 原生界面,目标为 SDK 55,涵盖 SwiftUI 组件与修饰符、`Host` 树及 React Native 组件嵌入。
主要功能
- 01Expo SDK 55 SwiftUI 集成指南
- 02组件与修饰符选择
- 03使用 `Host` 包裹 SwiftUI 树
- 04通过 `RNHostView` 嵌入 React Native
- 05查阅组件文档的指导
- 06扩展本地 Expo 模块的指导
适用场景
- 01在 Expo 应用中构建 iOS 原生界面
- 02选择 SwiftUI 视图和修饰符
- 03在 SwiftUI 中嵌入 React Native 组件
- 04处理 Expo UI 缺少视图或修饰符的情况
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill expo-ui-swift-ui安装后在 Claude Code 中输入/expo-ui-swift-ui确认已加载。
详细介绍
此技能中的说明仅适用于 SDK 55。对于其他 SDK 版本,请参阅相应版本的 Expo UI SwiftUI 文档,以获取最准确的信息。
适用场景
- 你需要在 Expo 中使用
@expo/ui/swift-ui构建 iOS 原生 UI。 - 任务涉及选择 SwiftUI 视图或修饰符、使用
Host封装视图树,或通过RNHostView嵌入 React Native 组件。 - 你的目标是遵循 Expo SDK 55 中 SwiftUI 集成和扩展方面的指导。
安装
npx expo install @expo/ui
安装后需要重新进行原生构建(npx expo run:ios)。
说明
- Expo UI 的 API 与 SwiftUI 的 API 相对应。请运用 SwiftUI 知识来决定使用哪些组件或修饰符。
- 从
@expo/ui/swift-ui导入组件,从@expo/ui/swift-ui/modifiers导入修饰符。 - 准备使用某个组件时,请获取其文档以确认 API:https://docs.expo.dev/versions/v55.0.0/sdk/ui/swift-ui/{component-name}/index.md
- 不确定某个修饰符的 API 时,请参阅文档:https://docs.expo.dev/versions/v55.0.0/sdk/ui/swift-ui/modifiers/index.md
- 每个 SwiftUI 视图树都必须使用
Host封装。 RNHostView专用于在 SwiftUI 视图树中嵌入 RN 组件。示例:
import { Host, VStack, RNHostView } from "@expo/ui/swift-ui";
import { Pressable } from "react-native";
<Host matchContents>
<VStack>
<RNHostView matchContents>
{/* Pressable is a React Native component, embedded through RNHostView. */}
<Pressable />
</RNHostView>
</VStack>
</Host>;
- 如果 Expo UI 缺少所需的修饰符或 View,可以通过本地 Expo 模块扩展。请参阅:https://docs.expo.dev/guides/expo-ui-swift-ui/extending/index.md。扩展前请先征得用户同意。
限制
- API 面向 SDK 55;编辑前请核对该版本的 Expo 文档和已安装的软件包。Android/iOS 示例仅适用于各自平台,不能互换,也不能作为真实设备行为的证明。现有框架和用户要求优先。
- 原生重建会安装或执行依赖项并更改项目;请先确认预期的开发目标。icon.xml 和应用代码是应用资源,并非捆绑文件。
- 请勿将输出视为针对特定环境进行验证、测试或专家审查的替代品。
- 如果缺少必要的输入、权限、安全边界或成功标准,请暂停并请求澄清。
评论
支持 Markdown