1

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

但是,监听器的设置需要一个特定的 main 函数,并接管应用程序(省略标准的 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 应用程序的后台应用程序?

4

1 回答 1

0

NSApplication 是 AppKit 框架的一部分。所以如果你写一个命令行工具作为代理,你就不能用这个了。但是您当然仍然可以使用我们的 NSRunLoop。只需使用[[NSRunLoop currentRunLoop] run];. 在您[listener resume]应该保持进程正常运行之后添加它。

于 2014-08-11T14:58:21.587 回答