SuperAPI AI 工具集

macos-menubar-tuist-app

通用与其它

查看项目

更新于 10-16 09:52

技能介绍

用途:在 Tuist 与 SwiftUI 技术栈下开发 macOS 菜单栏工具(LSUIElement),提供架构约定、文件布局与本地构建启动规范,适用于编写 Tuist 清单、启动脚本或做架构审查。

主要能力与规则:默认保持纯菜单栏模式(LSUIElement = true);网络传输与解码逻辑不得放进视图,禁止在 SwiftUI view body 中调用网络;状态变更置于 store 层(@Observable 或等价实现),而非行/视图展示代码;模型解码需对 API 漂移有韧性,使用可选字段、安全回退与防御式解析;Tuist 清单为唯一真源,不依赖手改生成的 Xcode 产物;本地迭代优先脚本启动(tuist run 对 macOS 目标/设备解析不可靠时);构建生成项目时优先用 tuist xcodebuild build 而非裸 xcodebuild。

文件布局约定:Project.swift(app target、设置、资源、Info.plist 键);Sources/Model.swift(模型与解码);Sources/Client.swift(请求、响应映射、传输);Sources/Store.swift(可观察状态、刷新策略、过滤、缓存);Sources/MenuView*.swift(菜单组合与顶层 UI 状态);Sources/RowView*.swift(行渲染与轻量交互);run-menubar.sh 与 stop-menubar.sh。

流程:确认 Tuist.swift 与 Project.swift 存在并先读现有脚本;用 curl 探测端点形状、鉴权与分页,端点忽略 limit/page 时在 store 做全量拉取与本地裁剪;自底向上实现模型、客户端、store,最后接线视图;app 入口只保留场景/菜单接线与依赖注入;run 脚本重启已有实例、不以打开 Xcode 为副作用,生成时用 tuist generate --no-open。

验证矩阵:TUIST_SKIP_UPDATE_CHECK=1 tuist xcodebuild build -scheme <TargetName> -configuration Debug;启动流程改动后执行 ./run-menubar.sh;脚本改动后执行 bash -n run-menubar.sh、bash -n stop-menubar.sh、./run-menubar.sh。

常见失败与方向:tuist run 无法解析 macOS 目标时改用 run/stop 脚本;刷新后菜单卡顿则把派生状态与过滤移入 store;API 变更导致解码失败则放宽解码并在 UI 安全呈现缺失数据;勿以 UI 补丁绕过根因。

限制:仅在任务与上述范围明确匹配时使用;不能替代环境相关验证、测试或专家评审;缺少必要输入、权限、安全边界或成功标准时应停止并请求澄清。