【发布时间】:2021-06-03 09:05:58
【问题描述】:
如果这是一个明显的问题,或者我在这里证明完全缺乏知识(这是准确的),请提前道歉。
- 操作系统:macOS (10.12+)
- IDE:Xcode (11)
- 使用:Cococa + Objective-C
我们正在与 C API 进行交互。该 API 在后台存储各种会话/环境信息。有一些特定的 API 调用需要完全重启 API,但完成此操作的唯一方法是完全关闭调用它的客户端应用程序(API 的行为类似于单例,无法重新初始化自身)。
我的希望是,将 C API 包装在 XPC 服务中可以让我更优雅地关闭服务并重新启动它,这样我就可以避免重新启动整个客户端应用程序。
- 在 Cocoa 中考虑这种需求的方式是否正确?
- 如果(如果)是,我将如何去做?我使用文件 -> 添加目标 -> XPC 服务向现有应用程序添加了一个简单的 XPC 服务。我可以调用 C API,所有工作都使用 NSXPCConnection 并从应用程序中点击适当的服务方法。不过,我对如何可能杀死/重新初始化 XPC 服务感到困惑。
- 是否有不同/更好的方式来看待这个问题?
欢迎任何方向/想法/批评
谢谢!
【问题讨论】:
标签: objective-c xcode cocoa nsxpcconnection