关于 axiom-macos
面向 macOS 开发的 Axiom 技能,按任务提供窗口、菜单、沙盒、分发和 AppKit 互操作等主题的参考。适用于处理 macOS 专属实现及与通用 SwiftUI 技能的分工。
主要功能
- 01窗口与场景管理参考
- 02菜单、命令和快捷键指导
- 03macOS SwiftUI 差异说明
- 04沙盒与文件访问指导
- 05AppKit 互操作参考
- 06屏幕捕获与录制指导
适用场景
- 01实现 macOS 窗口和菜单行为
- 02排查沙盒文件访问问题
- 03将 AppKit 与 SwiftUI 互操作
- 04设置屏幕捕获或录制
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ charleswiltgen/ axiom --skill axiom-macos安装后在 Claude Code 中输入/axiom-macos确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
skills/appkit-interop.mdappkit-modernization.mddirect-distribution.mdios-apps-on-mac.mdmenus-and-commands.mdsandbox-and-file-access.mdscreencapturekit-ref.mdscreencapturekit.mdsettings.mdswiftui-differences.mdwindows.md详细介绍
macOS 开发
任何 macOS 特定开发工作(包括窗口、菜单、沙盒、分发、AppKit 桥接和 macOS SwiftUI 差异)都必须使用此技能。
快速参考
| 症状 / 任务 | 参考 |
|---|---|
| 窗口管理(WindowGroup、Window、MenuBarExtra、DocumentGroup) | 参见 skills/windows.md |
| 菜单栏、命令、键盘快捷键 | 参见 skills/menus-and-commands.md |
| 表格、检查器、NavigationSplitView、焦点 | 参见 skills/swiftui-differences.md |
| App Sandbox、文件访问、安全作用域书签 | 参见 skills/sandbox-and-file-access.md |
未经提示就拒绝访问其他团队的应用或应用组容器(OS27) | 参见 skills/sandbox-and-file-access.md |
| Developer ID、公证、Sparkle 自动更新 | 参见 skills/direct-distribution.md |
| NSViewRepresentable、NSHostingController、AppKit 桥接、AppKit 中的 @Observable、NSHostingMenu、来自 AppKit 的 SwiftUI 场景 | 参见 skills/appkit-interop.md |
AppKit 现代化:替代 mouseDown、控件事件、状态项会话、状态恢复、同心圆角、触控(OS27) | 参见 skills/appkit-modernization.md |
| 屏幕录制、共享或捕获(ScreenCaptureKit) | 参见 skills/screencapturekit.md |
SCStream / SCContentFilter / 截图 / 文件录制 API、片段缓冲、录制编辑器(OS27) | 参见 skills/screencapturekit-ref.md |
| 将 iOS 应用移植到 Mac:采用 Catalyst、Designed for iPad、退出 Mac 可用性 | 参见 skills/ios-apps-on-mac.md |
| Mac / Catalyst 上的 Apple Pay | 参见 axiom-payments/skills/apple-pay.md(Catalyst 部分) |
跨套件路径
这些主题与 macOS 开发有所交集,但归属其他套件:
SwiftUI(iOS/macOS 通用)
- 视图状态、数据流、@Observable → 参见 axiom-swiftui
- 导航(NavigationStack 基础知识)→ 参见 axiom-swiftui(skills/nav.md)
- 布局(ViewThatFits、AnyLayout)→ 参见 axiom-swiftui(skills/layout.md)
- 动画 → 参见 axiom-swiftui(skills/animation-ref.md)
数据与持久化
- SwiftData、Core Data、GRDB → 参见 axiom-data
- CloudKit 同步 → 参见 axiom-data
并发
- Swift 6 并发、actors、Sendable → 参见 axiom-concurrency
其他
- 无障碍(VoiceOver、Dynamic Type)→ 参见 axiom-accessibility
- 网络(URLSession、Network.framework)→ 参见 axiom-networking
- 安全(Keychain、通行密钥、加密)→ 参见 axiom-security
冲突解决
axiom-macos 与 axiom-swiftui:开发 macOS SwiftUI 应用时:
- 使用 axiom-macos 处理 macOS 专属事项:窗口、菜单、命令、沙盒、分发、Table、Inspector、AppKit 桥接
- 使用 axiom-swiftui 处理跨平台 SwiftUI 事项:导航、布局、状态管理、动画
- 两者都可能适用:使用 NavigationSplitView 和 Table 的 macOS 应用需要 axiom-macos 处理 Table 特定事项,并需要 axiom-swiftui 处理 NavigationSplitView 基础知识
axiom-macos 与 axiom-security:处理沙盒和代码签名时:
- 使用 axiom-macos 处理 macOS App Sandbox、安全作用域书签、文件访问权限、Developer ID 签名
- 使用 axiom-security 处理 Keychain 存储、加密、通行密钥、证书管理
决策树
digraph macos {
start [label="macOS development task" shape=ellipse];
what [label="What area?" shape=diamond];
start -> what;
what -> "skills/windows.md" [label="windows/scenes"];
what -> "skills/menus-and-commands.md" [label="menus/commands/shortcuts"];
what -> "skills/swiftui-differences.md" [label="Table/Inspector/focus/macOS SwiftUI"];
what -> "skills/sandbox-and-file-access.md" [label="sandbox/file access"];
what -> "skills/direct-distribution.md" [label="distribution/notarization/updates"];
what -> "skills/appkit-interop.md" [label="AppKit bridging"];
what -> "skills/appkit-modernization.md" [label="modernize AppKit\n(input/restoration/27 look)"];
what -> "skills/ios-apps-on-mac.md" [label="iOS app to Mac\n(Catalyst / Designed for iPad)"];
what -> "skills/screencapturekit.md" [label="screen capture/\nrecording/sharing"];
what -> "axiom-swiftui" [label="cross-platform SwiftUI"];
what -> "axiom-security" [label="Keychain/encryption"];
}
iOS 屏幕捕获? ScreenCaptureKit 仅适用于 macOS。iOS 屏幕录制请使用 ReplayKit — 参见 axiom-media。
资源
WWDC:2021-10062、2022-10061、2022-10075、2023-10148、2024-10149、2026-272、2026-289
文档:/security/app-sandbox、/swiftui/windowgroup、/swiftui/table
技能:axiom-swiftui、axiom-security、axiom-concurrency、axiom-uikit
评论
支持 Markdown