CSAuthSample

这是一组库,旨在帮助为 macOS 应用程序编写特权辅助工具。它比 Apple 过时的 EvenBetterAuthorizationSample 更加现代化且易于使用。Pacifist 已经使用它一段时间了。

CSAuthSample 最初是 Nathan de Vries 的 SMJobBlessXPC 的移植版本,但经过多次重写,我怀疑是否还保留了任何原始代码。 在某个时候,它围绕 Apple 的 BetterAuthorizationSample 进行了重写。 最近,它围绕 Apple 的 EvenBetterAuthorizationSample 进行了重写。 最新版本使用 NSXPCConnection,因此需要使用 Objective-C 或 Swift 编写辅助工具。 对于需要使用纯 C 编写辅助工具的用户,较早的使用 libxpc 的代码可在“c-helper”分支中找到。

当前代码假定前端应用程序将使用 Swift 编写。 可以使用 Objective-C 或 Swift 编写辅助工具。 如果您希望为整个堆栈使用 Swift,则可以使用 Swift 包。 为了您的方便,包含了一个示例应用程序项目,它将向您展示如何编写基于 Swift 的辅助应用程序和相应的客户端应用程序。

对于那些喜欢走在前沿的人来说,可以使用 Swift 并发的 Swift 纯重写版本可在 swift-concurrency 分支下找到。

CSAuthSample 可以根据 MIT 许可证的条款免费使用。

祝您使用愉快!