Я пытаюсь войти в AWS iOT, используя учетные данные пользователя IAM.
Но я постоянно получаю сообщение об ошибке «ошибка соединения», в консоли оно отображается как «CP Conn 0x2819e8a80 Ошибка SSLHandshake (-9807)». Я проверил с другими соединениями Wi-Fi, но все же я получаю те же ошибки.
Здесь я делюсь своим кодом, чтобы получить больше ясности,
let credentialsProvider = AWSStaticCredentialsProvider(accessKey: myAccessKey, secretKey: mySecretKey)
let configuration = AWSServiceConfiguration(region: AWSRegionType.USEast1, credentialsProvider: credentialsProvider)
AWSIoTDataManager.register(with: configuration!, forKey: "iOTManager")
iotDataManager = AWSIoTDataManager(forKey: "iOTManager")
#if DEMONSTRATE_LAST_WILL_AND_TESTAMENT
let lwtTopic: NSString = Constants.lwtTopic
let lwtMessage: NSString = Constants.lwtMessage
self.iotDataManager.mqttConfiguration.lastWillAndTestament.topic = lwtTopic as String
self.iotDataManager.mqttConfiguration.lastWillAndTestament.message = lwtMessage as String
self.iotDataManager.mqttConfiguration.lastWillAndTestament.qos = .AtMostOnce
#endif
self.iotDataManager.connectUsingWebSocket( withClientId: UUID().uuidString, cleanSession:true, statusCallback: mqttEventCallback)
}
func mqttEventCallback( _ status: AWSIoTMQTTStatus ) {
DispatchQueue.main.async {
print(status.rawValue)
switch(status)
{
case .connecting:
print("Connecting..!")
case .connected:
print("Connected..!")
case .disconnected:
print("Disconnected..!")
case .connectionRefused:
print("connectionRefused..!")
case .connectionError:
print("connectionError..!")
case .protocolError:
print("protocolError..!")
default:
print("unknowState" + String(status.rawValue))
}
}
Когда я запускаю тот же код в iPad mini, я могу успешно войти в AWS iOT, но его нет в iPhone (7, 7Plus, 8Plus). Мне было интересно, почему это происходит. Я не понимаю, что не так в коде. Пожалуйста, помогите мне решить эту проблему.