我已经实现了NEPacketTunnelProvider
效果很好,但是当隧道处于活动状态时,某些应用程序,即 Signal 无法正常工作。我的消息被发送(与朋友确认),但我没有看到已读回执,也没有收到消息。
Signal 提供了获取日志的选项。
[OWSWebSocket.m:731 -[OWSWebSocket websocketDidDisconnectWithSocket:error:]]: Websocket did fail with error: Error Domain=kCFErrorDomainCFNetwork Code=2 "(null)" UserInfo={_kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, kCFGetAddrInfoFailureKey=8}
这是我可以看到的常见错误之一,但代码非常通用。应该是这样吗 - https://developer.apple.com/documentation/cfnetwork/cfnetworkerrors/cfhosterrorunknown?
然后是其他一些错误:
❤️ [MessageSender.m:288 -[OWSSendMessageOperation didFailWithError:]]: Failed with error: SignalServiceKit.MessageSenderError (isRetryable: 0)
2021/04/20 12:10:08:998
❤️ [OWSOutgoingReceiptManager.m:240 -[OWSOutgoingReceiptManager sendReceiptsForReceiptType:]_block_invoke]: Failed to send Read receipts to sender with error: SignalServiceKit.MessageSenderError
我还检查了信号源代码(https://github.com/signalapp/Signal-iOS/blob/master/SignalServiceKit/src/Messages/OWSOutgoingReceiptManager.m),但这没有帮助。
当我的隧道处于活动状态时,有没有办法精确调试什么不起作用?我手机上的其他应用程序运行良好。