技能 ios-application-dev
📱

ios-application-dev

安全

使用 UIKit 和 SwiftUI 构建生产级 iOS 应用

创建 iOS 界面需要了解 Apple 平台规范、无障碍标准和正确的 UI 模式。本技能提供全面的指导,帮助你构建符合 Apple 人机界面指南的应用。

支持: Claude Codex Code(CC)
🥉 76 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“ios-application-dev”。 使用 SwiftUI 创建一个包含邮箱和密码输入框的设置屏幕

预期结果:

一个完整的 SwiftUI 设置屏幕,包含 Form、Section 分组、用于邮箱输入的 TextField(带有键盘类型和自动大写设置)、用于密码的 SecureField,以及在字段为空时禁用状态的登录按钮。

正在使用“ios-application-dev”。 为 UIKit 中的产品列表添加无障碍支持

预期结果:

UIKit 表格视图单元格配置,包含描述产品名称和价格的 accessibilityLabel、用于轻触操作的 accessibilityHint,以及按钮行为的 trait 设置。包含使用 UIFontMetrics 缩放的动态字体支持。

正在使用“ios-application-dev”。 在现有 UIKit 应用中实现深色模式

预期结果:

将硬编码颜色替换为语义化系统颜色(.systemBackground、.label、.secondaryLabel)、为自定义颜色创建资源目录变体,以及测试自动深色模式适配的指南。

安全审计

安全
v1 • 4/16/2026

All 674 static analyzer findings are false positives. The scanner misidentifies markdown inline code delimiters (backticks) as shell commands, Swift enum values like .hierarchical as crypto algorithms, and standard Swift guard statements as system reconnaissance. This is a legitimate iOS development reference guide containing only documentation and example code with no security risks.

10
已扫描文件
3,971
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

45
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

搭建 iOS 屏幕布局

生成完整的屏幕实现,包含正确的安全区域处理、触控目标以及遵循 Apple 指南的语义化布局。

实现无障碍功能

为现有 iOS 界面添加 VoiceOver 标签、动态字体支持和减弱动态效果兼容性。

审查 iOS 代码质量

根据 Apple 关于协议、错误处理和 UI 实现模式的最佳实践验证 Swift 代码。

试试这些提示

创建 UIKit 屏幕
使用 UIKit 和 SnapKit 创建一个[screen type]屏幕。包含[components]。遵循最小 44pt 触控目标,支持动态字体,并使用语义化颜色支持深色模式。
构建 SwiftUI 视图
构建一个具有[functionality]功能的 SwiftUI [view type]。使用 NavigationStack 进行导航,应用语义化颜色,并确保存在无障碍标签。
添加无障碍支持
为[component]添加 VoiceOver 无障碍支持。包含正确的 accessibilityLabel、accessibilityHint 和特性配置。支持无障碍大小的动态字体。
实现导航流程
为[feature]设计导航流程。使用 TabView 管理主要部分,NavigationStack 进行层级深入,.sheet 处理聚焦任务。在导航间保持状态。

最佳实践

  • 使用语义化系统颜色(.systemBackground、.label)代替硬编码的 RGB 值,以自动支持深色模式
  • 实现最小 44pt 触控目标和 8pt 间距网格,确保在所有屏幕尺寸上保持一致且可访问的布局
  • 通过为动态字体、减弱动态效果和粗体文本使用 @Environment 值来尊重用户的无障碍偏好

避免

  • 避免硬编码屏幕宽度或假设固定设备尺寸 - 使用安全区域和可自适应所有 iPhone 尺寸的弹性布局
  • 不要使用汉堡菜单或覆盖系统返回滑动手势 - 遵循平台导航规范
  • 不要在应用启动时未经上下文说明就请求权限 - 在用户实际需要该功能时才请求权限

常见问题

iOS 的最小触控目标大小是多少?
所有交互元素的最小触控目标为 44x44 点。这确保按钮和控件对所有用户(包括有运动障碍的用户)均可访问。
如何在 UIKit 中支持动态字体?
使用 UIFont.preferredFont(forTextStyle:) 并设置 adjustsFontForContentSizeCategory = true,或对自定义字体使用 UIFontMetrics 以正确适配系统文本大小设置。
新的 iOS 项目应该使用 UIKit 还是 SwiftUI?
新项目如果目标是 iOS 14+,推荐使用 SwiftUI。UIKit 在复杂自定义界面或需要支持更旧 iOS 版本时仍然有价值。
如何在应用中处理深色模式?
使用语义化系统颜色(.systemBackground、.label),它们会自动适配。对于自定义颜色,为 Any Appearance 和 Dark Appearance 创建资源目录变体。
我应该使用什么导航模式?
使用 TabView 管理 3-5 个主要部分,使用 NavigationStack 进行层级深入,使用 .sheet 处理聚焦任务。不要在 iOS 上使用汉堡/抽屉菜单。
如何确保我的应用能与 VoiceOver 正常配合使用?
为所有交互元素添加 accessibilityLabel,对复杂操作使用 accessibilityHint,适当设置 accessibilityTrait,并定期在开启 VoiceOver 的情况下进行测试。