SwiftyXPC

嗯,这是什么?

SwiftyXPC 是 Apple 的 XPC 进程间通信库的包装器,它提供了一个易于使用、符合 Swift 习惯的接口。

但是已经有 NSXPCConnection 了!

是的,没错,但是它基于协议和代理的接口更适合 Objective-C 而非 Swift。从 Swift 中使用 NSXPCConnection 总是感觉有些笨拙,而且随着 Swift 并发的出现,情况变得更糟,因为一切都必须包含在 withCheckedThrowingContinuation 代码块中。 NSXPCConnection 在某些重要方面也往往落后于 libxpc,尤其是在通过审计令牌验证远程进程的代码签名方面。

相比之下,SwiftyXPC

但是我想支持旧的 macOS 版本! 使用 Swift 并发意味着它需要 macOS 12!

实际上,事实证明情况并非如此! 使用 Xcode 13.2,Swift 并发现在可以在 macOS 10.15 “Catalina” 上一直运行,因此,这个库也可以。

这个库的许可证是什么?

MIT。