Agent Skills
返回列表
iOS应用原生开发指南

iOS应用原生开发指南

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md 将 @user_fccf428b/ios-application-dev 安装到当前 AI 助手中,以便我可以参考其中的 iOS 原生开发规范来编写和审查代码。

技能介绍

这份指南解决什么问题

接手一个 iOS 项目时,最常见的问题不是"某个 API 怎么调",而是"同类页面在不同模块里写法完全不一样":有的列表用 UITableView,有的用 UICollectionView + DiffableDataSource,导航有的是 UINavigationController,有的是手写返回按钮。颜色直接写 UIColor(red:),深色模式下直接翻车;按钮高度随手写 40pt,在 SE 上勉强能用,在 Pro Max 上又显得局促。

这份指南把 Apple Human Interface Guidelines 里那些分散的规则,整理成一份可以逐条对照执行的清单,目标是让团队里不同经验水平的开发者,产出的代码在布局、排版、无障碍、导航和权限处理上保持一致,并且符合平台惯例。

技能如何工作

它不生成完整项目,而是以快速查阅表 + 核心原则 + 验收清单的形式提供参考:

  • 组件选型表:按用途给出 UIKit 与 SwiftUI 的对应实现。例如主分区用 UITabBarController 或 TabView + tabItem,下钻用 UINavigationController 或 NavigationStack,聚焦任务用 Sheet 呈现,关键选择用 UIAlertController / .alert,列表内容用 UICollectionView + DiffableDataSource,搜索用 UISearchController / .searchable。
  • 核心原则:布局上触控目标不小于 44pt、内容落在安全区域内、间距按 8pt 递增、主操作放在拇指可达区;排版上统一用 preferredFont(forTextStyle:) 或语义文本样式,并适配 Dynamic Type;颜色上优先使用 .systemBackground、.label、.primary 这类语义色,并为自定义色在 Asset Catalog 里配置 Any/Dark 变体;无障碍上给图标按钮补 .accessibilityLabel(),尊重 Reduce Motion 与 Bold Text。
  • 导航约定:顶层 3-5 个分区用 Tab bar 且导航过程中保持可见,保留系统返回手势,不使用汉堡菜单,跨 Tab 状态用 @SceneStorage 维持。
  • 隐私与系统集成:权限要在具体上下文里请求并先做自定义说明,支持 Sign in with Apple,追踪需遵循 ATT 并在用户拒绝时降级;同时处理来电、后台、Siri 等中断,为可分享内容接上 Share Sheet。

适用边界与注意点

  • 这是一份规范与检查清单,不是脚手架或代码生成器,不会替你写出整个工程。
  • 涉及 Metal Shader、Core Animation 等内容只提供参考链接,需要自行查阅 Apple 文档与 Swift 编码规范。
  • 指南不自动安装依赖、修改系统权限或执行外部写入;涉及发送、发布、删除、部署等操作时,需要先确认目标与影响。
  • 所有命令和代码默认只作参考,只有在你明确要求且目标范围清晰时才会执行。

使用场景

  • 接手旧项目重构列表页,用 DiffableDataSource 替换旧表格视图,确保触摸目标不小于 44pt。
  • 开发支持深色模式的新模块,使用语义系统颜色替换硬编码颜色,并在资源目录中配置深浅色变体。
  • 准备上线复杂的表单页面,需对照清单为图标按钮添加无障碍标签,并确保在最大动态字体下布局不截断。
  • 应用需获取用户位置提供一次性服务,要在用户触发操作时才请求权限,并在系统弹窗前展示自定义解释。

适合人员

  • 刚入行的 iOS 开发工程师,需要快速了解 Apple 官方的组件选型和界面规范,避免写出不符合平台习惯的代码。
  • 负责移动端重构的技术负责人,希望统一团队中 UIKit 和 SwiftUI 混用时的架构约定,特别是导航模式和状态管理的标准。
  • 关注无障碍体验的产品设计工程师,需要一份详细的 VoiceOver 标签和 Reduce Motion 适配检查清单,确保应用符合无障碍标准。
  • 处理大量用户权限回调的后端转 iOS 开发者,需要一份清晰的隐私请求上下文设计指南,以正确实现 Sign in with Apple 和 ATT 相关的降级逻辑。