XPC 服务未从 Xcode 源代码编辑器扩展启动“仍然很忙”

问题描述

我能够set up my Xcode Source Editor Extension to work with XPC

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

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

另外,Xcode 扩展只显示错误

命令“Foo”仍然很忙。

为什么在debug模式下可以正确打开xpc服务,但是我分发app的时候却无法启动xpc服务?

我的 xpc 扩展(和应用)依赖于 shared framework I created。不确定这是否与问题有关。

解决方法

调试此问题的最佳方法不一定是查看控制台消息,而是查看控制台应用中的崩溃报告。去的时候发现XPC服务每次运行都崩溃。

崩溃是:

Termination Reason:    DYLD,[0x1] Library missing

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

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

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

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

XPC 服务不再崩溃。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...