我正在尝试创建一个XPC服务,但该服务似乎并未创建。在我的服务的main方法中,我做的第一件事是调用syslog,这样我就可以看到服务是否开始运行。这些日志消息从不出现在日志中。
我检查了所有的捆绑包标识符、可执行文件名称和捆绑包层次结构,但仍然没有创建服务。在应用程序中,当我通过XPC服务连接创建并发送消息后,我的事件处理程序立即被调用,并出现XPC_ERROR_CONNECTION_INVALID错误。我使用的是基于C的XPC。
还有什么我可以尝试和做的,以确保至少创建了XPC服务?
发布于 2012-10-31 03:45:20
事实证明,我需要对应用程序目标和XPC服务目标进行代码签名。这可以在Xcode项目构建设置中完成,并且可以设置为"Ad-hoc Code Sign“,而不需要Mac开发人员证书。

发布于 2014-09-15 22:24:55
还要检查您的服务名称。我发现项目模板中的默认示例没有包含完全限定名称。在客户机代码中,我必须更改以下内容:
NSXPCConnection *connection = [[NSXPCConnection alloc] initWithServiceName:@"MyNetworkClient"];要这样做:
NSXPCConnection *connection = [[NSXPCConnection alloc] initWithServiceName:@"com.example.MyNetworkClient"];仔细检查XPC Target的Bundle ID是否为服务名称所使用的ID。在我的例子中,它没有启动XPC,也没有显示任何错误或控制台日志。
发布于 2013-03-22 19:05:29
我也有过类似的错误,但解决方案就是:干净,干净的构建文件夹,构建。
https://stackoverflow.com/questions/13146546
复制相似问题