iOS MQTT不能连接成功,老是报错MQTTSessionManagerStateError异常

老铁们,实话告诉你们。2019之前的不加

 user:@"" //用户名
 pass:@"" //密码
是可以的
//         [self.manager connectTo:self.host //服务器地址
//                             port:self.port //服务端端口号
//                              tls:false //是否使用tls协议,mosca是支持tls的,如果使用了要设置成true
//                        keepalive:60 //心跳时间,单位秒,每隔固定时间发送心跳包
//                            clean:false //session是否清除,这个需要注意,如果是false,代表保持登录,如果客户端离线了再次登录就可以接收到离线消息。注意:QoS为1和QoS为2,并需订阅和发送一致
//                             auth:true //是否使用登录验证,和下面的user和pass参数组合使用
//                             user:@"" //用户名
//                             pass:@"" //密码
//                        willTopic:nil //下面四个参数用来设置如果客户端异常离线发送的消息,当前参数是哪个topic用来传输异常离线消息,这里的异常离线消息都指的是客户端掉线后发送的掉线消息
//                             willMsg:nil //异常离线消息体。自定义的异常离线消息,约定好格式就可以了
//                          willQos:0 //接收离线消息的级别 0、1、2
//                   willRetainFlag:false //只有在为true时,Will Qos和Will Retain才会被读取,此时消息体payload中要出现Will Topic和Will Message具体内容,否则,Will QoS和Will Retain值会被忽略掉
//                     withClientId:self.clientId]; //客户端id,需要特别指出的是这个id需要全局唯一,因为服务端是根据这个来区分不同的客户端的,默认情况下一个id登录后,假如有另外的连接以这个id登录,上一个连接会被踢下线

2019年后,必须添加

 user:@"" //用户名
 pass:@"" //密码
NSString *passWord = [self macSignWithText:self.groupid secretKey:secretKey];


user:accessKey
pass:passWord
原文地址:https://www.cnblogs.com/gaozhang12345/p/10216957.html