mcpField
I
ios-navigation

ios-navigation

github.com/pproenca开发218264 次安装11 周前更新
代码仓库

关于 ios-navigation

ios-navigation 是面向 clinic 模块化 MVVM-C 架构的 SwiftUI 导航指南,适合 iOS 开发者规划协调器和路由外壳。它涵盖导航流程、无障碍支持与状态恢复。

主要功能

  1. 01协调器与路由外壳架构
  2. 02Push、Sheet 和深度链接模式
  3. 03多步骤与标签页导航流程
  4. 04转场和模态呈现指南
  5. 05导航无障碍实践
  6. 06状态恢复建议

适用场景

  1. 01设计 SwiftUI 应用的导航层级
  2. 02构建引导或其他多步骤流程
  3. 03添加深度链接和导航持久化
  4. 04检查导航的模块化与无障碍支持

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill ios-navigation

安装后在 Claude Code 中输入/ios-navigation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

metadata.json
assets/templates/
_template.md
references/
_sections.md
ally-focus-after-navigation.md
ally-group-navigation-elements.md
ally-hide-decorative-navigation.md
ally-keyboard-focus.md
ally-rotor-headers.md
anim-gesture-driven.md
anim-matched-geometry-same-view.md
anim-reduce-motion-transitions.md
anim-scroll-driven.md
anim-spring-config.md
anim-transition-source-styling.md
anim-zoom-transition.md
anti-hamburger-menu.md
anti-hidden-back-button.md
anti-mixed-link-styles.md
anti-navigation-in-init.md
anti-programmatic-tab-switch.md
anti-scattered-destinations.md
anti-shared-stack.md
arch-coordinator-modals.md
arch-coordinator.md
arch-deep-linking.md
arch-destination-item.md
arch-destination-registration.md
arch-equatable-views.md
arch-navigation-path.md
arch-navigation-stack.md

详细介绍

iOS 导航(Modular MVVM-C)

为采用 clinic 模块化架构的 SwiftUI 应用提供明确的导航规范。重点关注协调器与路由外壳的接线、功能隔离,以及可靠的 push/sheet/深层链接流程。

不可妥协的约束(iOS 26 / Swift 6.2)

  • 每个导航视图都使用 @Equatable 宏,绝不使用 AnyView
  • 全面使用 @Observable,绝不使用 ObservableObject / @Published
  • App 目标中的协调器拥有 NavigationPath;路由外壳负责 .navigationDestination 映射
  • 模态状态由协调器拥有,绝不使用内联 @State 布尔值控制 sheet
  • Domain 层定义协调器协议;具体协调器不得放在功能模块中

Clinic 架构约定(iOS 26 / Swift 6.2)

本技能中的所有指导均基于 clinic 模块化 MVVM-C 架构:

  • 功能模块仅导入 Domain + DesignSystem(绝不导入 Data,也不导入同级功能模块)
  • App 目标是汇合点,拥有 DependencyContainer、具体协调器和路由外壳接线
  • Domain 保持纯 Swift,并定义模型以及 repository、*Coordinating、ErrorRouting 和 AppError 契约
  • Data 负责 SwiftData/网络/同步/重试/后台 I/O,并实现 Domain 协议
  • 读写流程默认采用 stale-while-revalidate 读取和乐观排队写入
  • ViewModel 直接调用 repository 协议(默认不设用例/interactor 层)

适用场景

在以下场景中参考这些指南:

  • 使用 NavigationStack 或 NavigationSplitView 设计导航层级
  • 选择 push、sheet 或 fullScreenCover
  • 实现 hero 动画、缩放转场或手势驱动的关闭操作
  • 构建多步骤流程(引导、结账、注册)
  • 使用 @Observable、@Environment 和 @Bindable 共享导航状态
  • 审查代码中的导航反模式和模块化架构合规性
  • 添加深层链接、状态恢复或标签页持久化
  • 确保导航支持 VoiceOver 和减弱动态效果

按优先级划分的规则类别

优先级类别影响前缀
1导航架构CRITICALarch-
2导航反模式CRITICALanti-

| 3 | 转场与动画 | HIGH | anim- | | 4 | 模态呈现 | HIGH | modal- | | 5 | 流程编排 | HIGH | flow- | | 6 | 导航性能 | MEDIUM-HIGH | perf- | | 7 | 导航无障碍性 | MEDIUM | ally- | | 8 | 状态与恢复 | MEDIUM | state- |

快速参考

1. 导航架构(关键)
2. 导航反模式(关键)
3. 转场与动画(高优先级)
4. 模态呈现(高)
5. 流程编排(高)
6. 导航性能(中高)
7. 导航无障碍功能(中)
8. 状态与恢复(中)

使用方法

阅读各个参考文件,了解详细说明和代码示例:

参考文件

文件描述
references/_sections.md类别定义和排序
assets/templates/_template.md新规则模板
metadata.json版本和参考信息

评论

支持 Markdown