我试图在XMPPStreamDelegate中实现简单的didReceiveTrust,但是Xcode在方法定义上显示警告:

func xmppStream(_ sender: XMPPStream!, didReceiveTrust trust: SecTrust, completionHandler: XMPPStreamCompletionHandler) {
    completionHandler(true)
}


警告如下:


  实例方法
  'xmppStream(sender:didReceiveTrust:completionHandler :)'几乎匹配
  的可选要求'xmppStream(_:didReceive:completionHandler :)'
  协议'XMPPStreamDelegate'


测试应用程序时,我的输出如下:


  2018-06-12 23:10:11:239 MyMessages [55145:3561831] XMPPStream:流
  用(GCDAsyncSocketManuallyEvaluateTrust == YES)保护,但是
  没有实现的代表
  xmppStream:didReceiveTrust:completionHandler:。这可能是
  错误。


请帮忙

最佳答案

以下函数定义按预期工作:

func xmppStream(_ sender: XMPPStream?, didReceive trust: SecTrust?, completionHandler: @escaping (_ shouldTrustPeer: Bool) -> Void) {
    completionHandler(true)
}

10-08 07:27