interruptionHandler
状态块的文档NSXPCConnection
:
远程进程退出或崩溃时调用的中断处理程序。
但是,守护进程和服务编程指南指出:
XPC 服务由 launchd 管理,它按需启动它们,如果它们崩溃则重新启动它们,并在它们空闲时终止它们(通过发送 SIGKILL)。这对使用该服务的应用程序是透明的,除非服务在处理需要响应的消息时崩溃。在这种情况下,应用程序可以看到它的 XPC 连接已经失效,直到服务被 launchd 重新启动
如果 XPC 进程因空闲而被杀死,我会在我的interruptionHandler
? 或者我只会在应用程序在处理消息时崩溃时收到回调?我问是因为这个测试用例似乎无法模拟。不幸的是,XPC 服务生命周期是一个非常黑的盒子。