Поток 17: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании Ошибка необязательного значения при отправке удаленного уведомления Swift - PullRequest
0 голосов
/ 22 июня 2019

В последнее время я обнаружил случайную нулевую ошибку в сети:

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, но это не помогло устранить ошибку.

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ошибка кодирования запроса?Как всегда большое спасибо за ваше время и помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...