0

我能够设置我的 Xcode Source Editor Extension 以使用 XPC

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

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

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

命令“Foo”仍然很忙。

为什么在debug模式下可以正确打开XPC服务,但是我分发应用程序时,却无法启动XPC服务?

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

4

1 回答 1

0

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

崩溃是:

Termination Reason:    DYLD, [0x1] Library missing

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

我从以下位置切换了 XPC 的运行路径搜索路径:

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

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

并且 XPC 服务不再崩溃。

于 2021-05-14T20:43:27.670 回答