2

我正在尝试使用 XPC 服务“A”创建一个应用程序,该应用程序又尝试与 XPC 服务“B”进行通信。但是,它不起作用。

如果我将两个 XPC 服务都复制到Contents/XPCServices主应用程序中,则会立即调用 A 中invalidationHandlerNSXPCConnection,而 B 似乎根本没有启动。

如果我将嵌套的 XPC 服务复制到Contents/XPCServices/A.xpc/Contents/XPCServices,则它会启动 B,但它会立即崩溃:

Dyld Error Message:
  Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: App.app/Contents/XPCServices/A.xpc/Contents/XPCServices/B.xpc/Contents/MacOS/B
  Reason: image not found

libswiftCore.dylib存在于Contents/Frameworks应用程序A和B的文件夹中。

(我发现的其他Library not loaded: @rpath/libswiftCore.dylib错误建议没有帮助:更改代码签名身份,设置Runpath Search Paths。)

我究竟做错了什么?

我知道我可以从主应用程序初始化与 B 的连接,然后将其作为anonymousListenerA 传递,但这听起来很难看。

4

1 回答 1

2

添加@loader_path/../../../../FrameworksRunpath Search PathsB之后,它现在可以工作了。

于 2015-08-29T10:36:24.113 回答