XPC 服务未从 Xcode 源代码编辑器扩展启动(`仍然很忙`)
Posted
技术标签:
【中文标题】XPC 服务未从 Xcode 源代码编辑器扩展启动(`仍然很忙`)【英文标题】:XPC Service not launching from Xcode Source Editor Extension (`still busy`) 【发布时间】:2021-05-14 20:43:27 【问题描述】:我可以set up my Xcode Source Editor Extension to work with XPC。
当我通过 Xcode 运行应用程序以进行调试时,一切正常。我的 XPC 扩展程序已启动。
然后我存档并分发项目(用于开发)。安装扩展并调用命令后,XPC 服务永远不会启动。我在活动监视器中没有看到它。
此外,Xcode 扩展只是显示错误:
“Foo”命令仍然很忙。
为什么在debug模式下可以正确打开XPC服务,但是我分发应用时,却无法启动XPC服务?
我的 XPC 扩展(和应用)依赖于 shared framework I created。不确定这是否与问题有关。
【问题讨论】:
【参考方案1】:调试此问题的最佳方法不一定是查看控制台消息,而是查看控制台应用程序中的崩溃报告。当我去那里时,我注意到 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 服务不再崩溃。
【讨论】:
以上是关于XPC 服务未从 Xcode 源代码编辑器扩展启动(`仍然很忙`)的主要内容,如果未能解决你的问题,请参考以下文章