
PermissionFlow 是一个面向 macOS 应用开发者的 Swift Package,用来把“申请系统权限”这件麻烦事做得更顺。它不是面向普通用户的独立 App,而是给 SwiftUI + AppKit 宿主应用集成的权限引导库。
它的核心场景是 macOS 的隐私权限页:应用需要辅助功能、完全磁盘访问、输入监控、屏幕录制、蓝牙、媒体与 Apple Music、App 管理或开发者工具权限时,PermissionFlow 可以自动打开对应的 System Settings 页面。对于支持拖拽授权的页面,它还会显示一个跟随系统设置窗口移动的浮动面板,让用户把当前 .app 直接拖进权限列表。
项目里同时包含 SystemSettingsKit,把系统设置 deeplink 做成强类型 API。macOS 侧可以跳到具体 pane 和 anchor;iOS 侧只提供 UIKit 公开支持的设置入口,比如当前 App 的设置页。对需要频繁引导用户打开系统设置的工具类、自动化类、菜单栏类应用来说,这能减少大量脆弱的 URL 拼接和说明文案。
权限状态检测也做了拆分:PermissionFlow 核心内置辅助功能和完全磁盘访问的状态检测,蓝牙、输入监控、媒体与 Apple Music、屏幕录制等可以按需引入扩展 product。这样不需要相关状态检测的应用,就不用默认链接 CoreBluetooth、MusicKit、Carbon 等依赖。
截至这次整理,PermissionFlow 在 GitHub 上约 192 stars,使用 Swift 6.2 package toolchain,要求 macOS 13+;其中 SystemSettingsKit 支持 macOS 13+ 和部分 iOS 16+ 场景,项目采用 MIT 许可证。
传送门
https://github.com/jaywcjlove/PermissionFlow
原创文章,如若转载,请注明出处:https://wefound.cc/p/3377.html