从XPC服务创建NSXPCConnection

时间:2015-08-29 10:04:53

标签: swift xpc

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

如果我将两个XPC服务复制到主应用中的Contents/XPCServices,则会立即调用A中invalidationHandler的{​​{1}},而B似乎根本不会启动。

如果我将嵌套的XPC服务复制到NSXPCConnection,那么它会启动B,但它会立即崩溃:

Contents/XPCServices/A.xpc/Contents/XPCServices

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文件夹中,A和B.

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

我做错了什么?

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

1 个答案:

答案 0 :(得分:2)

@loader_path/../../../../Frameworks添加到B的Runpath Search Paths后,现在可以使用了。