如果这是一个明显的问题,或者我在这里表现出完全缺乏知识(这是准确的),请提前抱歉。
- 操作系统: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 服务感到困惑。
- 有没有不同/更好的方法来看待这个?
欢迎任何方向/想法/批评
谢谢!