SuperAPI AI 工具集

macos-app-best-practices

编程与开发

查看项目

更新于 10-15 21:36

技能介绍

用途:为构建 macOS 应用提供架构与决策层面的最佳实践,覆盖 SwiftUI、AppKit 与 Mac Catalyst,依据 Apple 官方文档整理。

主要能力:

  1. 场景(Scene)选择:主窗口默认用 WindowGroup;文档类应用用 DocumentGroup(自动添加保存/复制菜单);macOS 专属设置窗口用 Settings;工具类或常驻状态项用 MenuBarExtra,面板样式用 .menuBarExtraStyle(.window)。
  2. 多窗口:给 WindowGroup 设置 id,通过 @Environment(.openWindow) 打开实例。
  3. 菜单与命令:菜单栏由场景加 .commands { } 生成;按需添加 SidebarCommands()、TextFormattingCommands;自定义菜单用 CommandMenu 配合 .keyboardShortcut。
  4. SwiftUI 与 AppKit:新 Mac UI 默认 SwiftUI,AppKit 用于高级或缺失控件;Mac 专属场景与修饰符用 #if os(macOS) 包裹。
  5. Mac Catalyst:把现有 iPad 应用带到 Mac,需在 Xcode 的 iOS target > General > Supported Destinations 添加 Mac > Mac Catalyst;Catalyst 无法调用 AppKit API,用 #if targetEnvironment(macCatalyst) 与 #if !targetEnvironment(macCatalyst) 区分代码;可选 Scale Interface to Match iPad 或 Optimize Interface for Mac,通过 traitCollection.userInterfaceIdiom == .mac 检测。

使用方式:作为开发时的架构参考与检查清单,指导场景类型、菜单命令、多窗口与条件编译的取舍。

适用场景:新建 Mac 应用、为 iPad 应用增加 Mac 版本、规划窗口与菜单结构。

限制:仅覆盖架构与决策层面,具体实现可参考 swiftui-patterns、window-management、appkit-interop 等;签名、打包与公证另见相关技能。