Как исправить ошибку плохого сертификата в MapKit - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь использовать MapKit framework в своем приложении. Мне нужно получить очки за маршрут. Для этого я пишу следующее:

let directions = MKDirections(request: request)
    directions.calculate { response, error in
        if error != nil {
            print("Error getting directions ", error.debugDescription)
        } else {
            guard let response = response else { return }
            completion(response.routes[0])
        }
    }

Однако я получаю сообщение об ошибке:

Ошибка при получении направления Необязательно (Ошибка Domain = NSURLErrorDomain Code = -1202 "Сертификат для этого сервера недействителен. Возможно, вы подключение к серверу, который притворяется «gsp-ssl.ls.apple.com» что может поставить под угрозу вашу конфиденциальную информацию. " UserInfo = {NSErrorFailingURLKey = https://gsp -ssl.ls.apple.com / directions.arpc , NSLocalizedRecoverySuggestion = Хотите подключиться к серверу в любом случае ?, NSUnderlyingError = 0x6000014bce40 {Ошибка Домен = kCFErrorDomainCFNetwork Code = -1202 "(ноль)" UserInfo = {_ kCFStreamPropertySSLClientCertificateState = 0, _kCFNetworkCFStreamSSLErrorOriginalValue = -9843, _kCFStreamErrorDomainKey = 3, _kCFStreamErrorCodeKey = -9843, kCFStreamPropertySSLPeerCertificates = ()}}, _kCFStreamErrorCodeKey = -9843, NSErrorPeerCertificateChainKey = (), NSLocalizedDescription = Сертификат для этого сервера недействителен. Вы может подключаться к серверу, который притворяется «Gsp-ssl.ls.apple.com», который может разместить вашу конфиденциальную информацию в опасности., NSErrorClientCertificateStateKey = 0, NSErrorFailingURLStringKey = https://gsp -ssl.ls.apple.com / directions.arpc , _kCFStreamErrorDomainKey = 3})

Я уже редактировал файл Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsLocalNetworking</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>gsp-ssl.ls.apple.com</key>
        <dict>
            <key>NSRequiresCertificateTransparency</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict> 

Вот что показывает мне браузер: That's what the browser shows me

1 Ответ

0 голосов
/ 22 мая 2019

После сообщения об ошибке в Apple проблема была устранена, теперь все работает без VPN.

...