XPC服务未从Xcode源代码编辑器扩展启动("仍然繁忙")



我能够设置我的Xcode源代码编辑器扩展来使用XPC。

当我通过Xcode运行应用程序进行调试时,一切都正常。我的XPC扩展已启动。

然后我归档并分发了该项目(用于开发(。在安装扩展并调用命令之后,XPC服务永远不会启动。我在活动监视器中看不到它。

此外,Xcode扩展只显示了错误:

命令"Foo";仍然很忙。

为什么它会在调试模式下正确打开XPC服务,但当我分发应用程序时,它却无法启动XPC服务?

我的XPC扩展(和应用程序(依赖于我创建的共享框架。不确定这是否与问题有关。

调试此问题的最佳方法不一定是查看控制台消息,而是查看控制台应用程序中的崩溃报告。当我去那里的时候,我注意到XPC服务每次运行都会崩溃。

崩溃是:

Termination Reason:    DYLD, [0x1] Library missing

这让我意识到,当我从Objective-C XPC升级到Swift XPC时,我应该仔细检查我使用的设置。特别是,我感到困惑的部分是,当文章说要设置Runtime Search Paths: @loader_path/../../../../Frameworks时。事实证明,它应该被添加,而不是从列表中删除。

我切换了XPC的运行路径搜索路径从:

$(inherited)
@loader_path/../../../../Frameworks

$(inherited)
@executable_path/../Frameworks
@loader_path/../Frameworks
@loader_path/../../../../Frameworks

XPC服务不再崩溃。

最新更新