2015-08-29 2 views
2

Я пытаюсь создать приложение с помощью службы XPC «A», которая, в свою очередь, пытается связаться с сервисом XPC «B». Однако он не работает.Создание NSXPCConnection из службы XPC

Если я копирую обе службы XPC в Contents/XPCServices в главном приложении, то invalidationHandler из NSXPCConnection в A вызывается немедленно, а 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 из основного приложения, а затем передать его как anonymousListener в A, но это звучит уродливо.

ответ

1

Он теперь работает после добавления @loader_path/../../../../Frameworks к Runpath Search Paths из B.

Смежные вопросы