В последнее время я обнаружил случайную нулевую ошибку в сети:
if let postString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue) as String? {
print("POST: \(postString)")
}
при отправке удаленного уведомления через FCM.
Сообщения от консоли:
2019-06-22 10: 30: 50.126670 + 0200 fix-it shop [5664: 111257] [] nw_socket_handle_socket_event [C15.1: 3] Сокет SO_ERROR [54: сброс соединения по одноранговой сети] 2019-06-22 10: 30: 50.126833 + 0200 fix-it shop [5664: 111257] [BoringSSL] nw_protocol_boringssl_error (1584) [C15.1: 2] [0x7f8ad4c84f00] Нижеошибка стека протоколов: 54 2019-06-22 10: 30: 50.127725 + 0200 fix-it shop [5664: 111257] Статус чтения TIC [15: 0x600001c6f9c0]: 1:54 2019-06-22 10: 30: 50.127857 + 0200fix-it shop [5664: 111257] TIC Read Status [15: 0x600001c6f9c0]: 1:54 2019-06-22 10: 30: 50.128122 + 0200 fix-it shop [5664: 111257] TIC Read Status [15: 0x600001c6f9c0]: 1:54 2019-06-22 10: 30: 50.128277 + 0200 fix-it shop [5664: 111257] Статус чтения TIC [15: 0x600001c6f9c0]: 1:54 2019-06-22 10: 30: 50.139772 + 0200 fix-it shop [5664: 111257] Задача <1270EE06-B130-4344-A1FD-9FB3BDD5692D>. <1> Ошибка загрузки HTTP (код ошибки: -1005 [1:54]) 2019-06-22 10: 30: 50.140207+0200 fix-it shop [5664: 111255] Задача <1270EE06-B130-4344-A1FD-9FB3BDD5692D>. <1> завершена с ошибкой - код: -1005 2019-06-22 10: 30: 50.140195 + 0200 fix-it shop [5664: 111257] Задача <90A0EB7D-9037-4380-9991-DBEE80EC76CD>. <2> Ошибка загрузки HTTP (код ошибки: -1005 [1:54])
, но я не знаю, как их интерпретировать.Может ли это быть временное автономное состояние из-за отсутствия Wi-Fi-соединения?Это на самом деле довольно нестабильно в последнее время .. Если так, как ждать, пока он снова не подключится?
В поисках решения в других постах я добавил App Transport Security Settings
к info.plist
, но это не помогло устранить ошибку.
, и это вся моя функция:
static func sendPushNotification(to receiverToken: String, title: String, subtitle: String, body: String) {
let serverKey = firebaseServerKey
let url = NSURL(string: "https://fcm.googleapis.com/fcm/send")
let postParams: [String : Any] = [
"to": receiverToken,
"mutable_content": true,
"content_available": true,
"priority": "high",
"notification": [
// "badge" : 1, sendig the badge number, will cause aglitch
"body": body,
"title": title,
"subtitle": subtitle,
"sound" : true, // or specify audio name to play
],
"data" : [
"data": "ciao",
]
]
let request = NSMutableURLRequest(url: url! as URL)
request.httpMethod = "POST"
request.setValue("key=\(serverKey)", forHTTPHeaderField: "Authorization")
request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
do {
// request.httpBody = try JSONSerialization.data(withJSONObject: postParams, options: JSONSerialization.WritingOptions())
request.httpBody = try JSONSerialization.data(withJSONObject: postParams, options: [.prettyPrinted]) // working
print("My paramaters: \(postParams)")
} catch {
print("Caught an error: \(error)")
}
let task = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) in
if let realResponse = response as? HTTPURLResponse {
if realResponse.statusCode != 200 {
print("Not a 200 response")
}
}
if let postString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue) as String? {
print("POST: \(postString)")
}
}
task.resume()
}
Можете ли вы определить некоторые неправильные настройки в info.plist
или некоторых httpошибка кодирования запроса?Как всегда большое спасибо за ваше время и помощь.