我的帮助代理应用程序需要在启动后不断执行一项活动,但它还需要通过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 app的后台应用程序?
答案 0 :(得分:0)
NSApplication是AppKit框架的一部分。因此,如果您将命令行工具编写为代理,则无法使用此工具。但你当然可以使用NSRunLoop。只需使用[[NSRunLoop currentRunLoop] run];
启动runloop即可。在[listener resume]
之后添加此内容应该可以保持流程正常运行。