Я получаю некоторые SSL Error
(которые заставляют мой проект останавливаться/зависать без сбоев, поскольку у меня есть DispatchGroup
ожидающая запроса), который я не знаю, как они вызваны, что это такое или что делать Это.
Я читал многочисленные страницы примерно по этой проблеме, но документации или людей, имеющих такую же проблему, мало. Я попытался изменить info.plist, но, похоже, это не помогло. Оба plist
выглядят следующим образом: (accounts.spotify.com
- это домен для URL-адреса запроса токена доступа)
Я вижу, что мой код не работает, когда я делаю запрос на сервер. (Это в моих рамках). Как упоминалось ранее, у меня есть DispatchGroup
ожидающая этого запроса, но код останавливается.
self.currentToken = try self.spotifyRequest("https://accounts.spotify.com/api/token", method: .post, parameters: parameters)
Мой метод запроса:
private func spotifyRequest(_ url: URLConvertible, method: HTTPMethod, parameters: Parameters? = nil, headers: HTTPHeaders? = nil) throws -> JSONStandard {
// Create a dispatch group to handle threads
let group = DispatchGroup()
group.enter()
// Status of the request (starts as nil)
var status: JSONStandard?
DispatchQueue.global(qos: .userInitiated).async {
Alamofire.request(url, method: method, parameters: parameters, headers: headers).responseJSON(completionHandler: { response in
// Check if response is valid
if let requestResponse = response.result.value as? JSONStandard {
status = requestResponse
} else {
status = nil
}
// Let the next tasks be completed, it has finished waiting for the request
group.leave()
})
}
// Wait for a result
group.wait()
// Return value or throw an error
if let safeStatus = status {
return safeStatus
} else {
getAccessToken()
throw SpotifyError.failedToCompleteRequest
}
}
Я не совсем уверен, что вызвало эту проблему, потому что все, что я делал, было слегка отредактировано и снова архивировать структуру.
Однако раньше он работал на обоих (поскольку я использую этот универсальный сценарий рамки)
Вот мой журнал сбоев (который я не могу понять ни одного!):
2018-08-18 21: 36: 45.747984 + 0100 Songvote [4854: 1517160] [BoringSSL] boringssl_session_errorlog (224) [C2.1: 2] [0x107d7c600] [boringssl_session_read] SSL_ERROR_SSL (1): сбой в работе библиотеки
2018-08-18 21: 36: 45.748123 + 0100 Songvote [4854: 1517160] [BoringSSL] boringssl_session_handshake_error_print (205) [C2.1: 2] [0x107d7c600] 4427428040: ошибка: 100000d7: Подпрограммы SSL: OPENSSL_internal: SSL_HANDSHAKE_FAILURE: /BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.200.32/ssl/ssl_lib.cc:1081:
2018-08-18 21: 36: 45.748238 + 0100 Songvote [4854: 1517160] [BoringSSL] boringssl_session_errorlog (224) [C2.1: 2] [0x107d7c600] [boringssl_session_read] SSL_ERROR_SSL (1): сбой в работе библиотеки
2018-08-18 21: 36: 45.748432 + 0100 Songvote [4854: 1517160] [BoringSSL] boringssl_session_handshake_error_print (205) [C2.1: 2] [0x107d7c600] 4427428040: ошибка: 100000d7: Подпрограммы SSL: OPENSSL_internal: SSL_HANDSHAKE_FAILURE: /BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.200.32/ssl/ssl_lib.cc:1081:
2018-08-18 21: 36: 45.754554 + 0100 Songvote [4854: 1517160] [BoringSSL] boringssl_session_errorlog (224) [C2.1: 2] [0x107d7c600] [boringssl_session_read] SSL_ERROR_SSL (1): сбой в работе библиотеки
2018-08-18 21: 36: 45.754640 + 0100 Songvote [4854: 1517160] [BoringSSL] boringssl_session_handshake_error_print (205) [C2.1: 2] [0x107d7c600] 4427428040: ошибка: 100000d7: процедуры SSL: OPENSSL_internal: SSL_HANDSHAKE_FAILURE: /BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.200.32/ssl/ssl_lib.cc:1081:
2018-08-18 21: 36: 45.754717 + 0100 Songvote [4854: 1517160] [BoringSSL] boringssl_session_errorlog (224) [C2.1: 2] [0x107d7c600] [boringssl_session_read] SSL_ERROR_SSL (1): сбой в работе библиотеки
2018-08-18 21: 36: 45.754796 + 0100 Songvote [4854: 1517160] [BoringSSL] boringssl_session_handshake_error_print (205) [C2.1: 2] [0x107d7c600] 4427428040: ошибка: 100000d7: процедуры SSL: OPENSSL_internal: SSL_HANDSHAKE_FAILURE: /BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.200.32/ssl/ssl_lib.cc:1081:
2018-08-18 21: 38: 43.427156 + 0100 Songvote [4854: 1517503] [BoringSSL] nw_protocol_boringssl_get_output_frames (1301) [C1.1: 2] [0x107e1b4c0] не удалось получить выходные кадры, состояние 8196
2018-08-18 21: 38: 43.427656 + 0100 Songvote [4854: 1517503] [BoringSSL] nw_protocol_boringssl_get_output_frames (1301) [C1.1: 2] [0x107e1b4c0] не удалось получить выходные кадры, состояние 8196
2018-08-18 21: 38: 43.429723 + 0100 Songvote [4854: 1517503] Статус чтения TIC [1: 0x0]: 1:57
2018-08-18 21: 38: 43.429976 + 0100 Songvote [4854: 1517503] Статус чтения TIC [1: 0x0]: 1:57
2018-08-18 21: 38: 46.008365 + 0100 Songvote [4854: 1517503] [BoringSSL] nw_protocol_boringssl_get_output_frames (1301) [C2.1: 2] [0x107d7c600] не удалось получить выходные кадры, состояние 8196
2018-08-18 21: 38: 46.008664 + 0100 Songvote [4854: 1517503] [BoringSSL] nw_protocol_boringssl_get_output_frames (1301) [C2.1: 2] [0x107d7c600] не удалось получить выходные кадры, состояние 8196
2018-08-18 21: 38: 46.010037 + 0100 Songvote [4854: 1517503] Статус чтения TIC [2: 0x0]: 1:57
2018-08-18 21: 38: 46.010215 + 0100 Songvote [4854: 1517503] Статус чтения TIC [2: 0x0]: 1:57
Это все для запроса Spotify
через Alamofire
который ранее работал и теперь таинственно не делает. Это не работает на моем устройстве или симуляторе.
Это проблема, связанная с безопасными подключениями к Интернету? Или это еще одна проблема?
Некоторые ссылки на то, что я посмотрел:
- https://github.com/AFNetworking/AFNetworking/issues/3999
- NSURLSession "Ошибка загрузки HTTP kCFStreamErrorDomainSSL, -9813; Сертификат самоподписывания
- https://forums.developer.apple.com/thread/79025
- https://forums.developer.apple.com/thread/14221
- iOS 9.3: Произошла ошибка SSL, и безопасное соединение с сервером невозможно сделать
- iOS9 получение ошибки "произошла ошибка ssl, и безопасное соединение с сервером невозможно сделать"
Редактирование:
Это проблема на серверах Spotify? Или ошибка в Xcode 10? Я перевел мои файлы .swift
в свой проект и все еще получаю журналы.
Я также получаю эти ошибки перед моим запросом, странно 🤔.
Это ошибка рукопожатия, но я не делаю никаких настроек:
Подтверждение SSL инициируется, когда ваш браузер выдает запрос на безопасный запрос на веб-сервер. Сервер отправляет открытый ключ на ваш компьютер, и ваш компьютер проверяет сертификат на известный список органов сертификации.... Протестируйте свои функции SSL, преднамеренно нарушив квитирование.
Я даже попробовал проверку на более ранней версии, чтобы отменить все изменения (которые в старых версиях, безусловно, отлично работали) с использованием git
, которые не повлияли на это.
Изменение: временное решение:
Похоже, что iOS 12 больше не работает с этими сетевыми запросами. Я отправил отчет об ошибке в Apple 2 дня назад, поэтому, надеюсь, скоро это исправит. Так что же я сделал?
Ну, на данный момент, мой iPhone 7 бесполезен, поскольку я на бета-версии iOS 12. Итак, единственный вариант - запустить мой проект на симуляторе. Для этого (как если бы вы были в Xcode 10 beta, потому что имитаторы - iOS 12), перейдите в Xcode → Preferences → Components → iOS 11.4 Simulator
и затем загрузите его. Теперь, когда вы выбираете симулятор, выберите те, которые говорят iOS 11.4
.
- Эта часть больше не верна.
Что вызывает это?
Хотя эта ошибка не должна ничего влиять, она возникает при запуске вашего проекта в iOS 12. Насколько я знаю, это НЕ проблема безопасности. Однако моя проблема с запуском моего кода была вызвана тупиком, а не тем, что, как я думал, было из-за этой ошибки.
Обновление: что Apple сделала о моем отчете об ошибке
Ну, хотя я ничего не получил от Apple, отчет отмечен как "дубликат", как кто-то сообщил об этом передо мной. Если я получу информацию о том, когда она будет исправлена, я обновлю ее здесь.
Если у вас есть какие-либо вопросы, советы или указатели, пожалуйста, дайте мне знать! Заранее спасибо!