gpt4 book ai didi

macos - 使用 NSXPCListener 执行常规任务的帮助程序应用

转载 作者:行者123 更新时间:2023-12-03 17:21:33 30 4
gpt4 key购买 nike

我的助手代理应用程序需要在启动后不断执行一项事件,但它还需要通过 XPC 与主应用程序进行通信

但是,监听器的设置需要特定的主函数,并且该函数会接管应用程序(省略标准的 AppDelegate NSApplication 方法)

int main(int argc, const char *argv[])
{
NSString *bundleId = [[NSBundle mainBundle] bundleIdentifier];
NSXPCListener *listener = [[NSXPCListener alloc] initWithMachServiceName:bundleId];
XX *xx = [XX new];
listener.delegate = xx;
[listener resume];
return 0;
}

如何两者兼得?带有 NSRunLoop 和 NSXPCListener 应用程序的后台应用程序?

最佳答案

NSApplication 是 AppKit 框架的一部分。所以如果你写一个命令行工具作为代理,你就不能使用这个。但你当然仍然可以使用 NSRunLoop。只需使用 [[NSRunLoop currentRunLoop] run]; 启动运行循环即可。在您的[listenerresume]之后添加此内容应该可以保持进程正常运行。

关于macos - 使用 NSXPCListener 执行常规任务的帮助程序应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141747/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com