XPC 错误是否意味着无法与 macosx 守护程序通信?

Do XPC errors imply failure to communicate with a macosx daemon?

我遇到一个问题,与 CoreBluetooth 交互的 mac 二进制文件失败,因为 CBCentralManager 报告“不受支持”。我已经确保权利、代码签名和安全与隐私设置正确。当我进行详细的蓝牙日志记录时,我看到以下内容:

[com.apple.bluetooth:CoreBluetooth] Sending XPC message 1: {
    kCBMsgArgName = "TestApp";
    kCBMsgArgOptions =     {
        kCBInitOptionRestoreIdentifier = SuperUnique;
        kCBInitOptionShowPowerAlert = 1;
        kCBManagerPrivacySupported = 0;
    };
    kCBMsgArgType = 0;
    kCBMsgArgVersion = 20161219;
}
Default 0x0 152    0 bluetoothd: [com.apple.bluetooth:Server.XPC] Received XPC message "CBMsgIdCheckIn" from session ""
**Error  0x0  152    0    bluetoothd: [com.apple.bluetooth:Server.XPC] No XPC object for key: kCBMsgArgType**

我的问题不是关于蓝牙的权限,而是关于这个错误的严重程度或者它是否是一个转移注意力的问题。这是否意味着我发送到 bluetoothd 的 IPC 消息未能传递?如果是这样,像这样的 XPC 问题通常会如何发生? SDK 版本不匹配?有没有办法获取更多的调试信息?

我从XCode 12.5.0升级到13.2.1,问题解决了。似乎是 SDK 不匹配,因此 XPC 消息未正确反序列化。

最好能得到关于 XPC 消息如何工作的更可靠的答案,但我还没有找到很多这方面的资源。取而代之的是,我至少可以说这已经解决了问题。