【发布时间】:2019-10-07 15:40:52
【问题描述】:
我正在尝试在我的应用中使用 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])
}
}
但是,我收到错误消息:
错误获取路线可选(错误域 = NSURLErrorDomain Code=-1202 "此服务器的证书无效。您可能是 连接到伪装成“gsp-ssl.ls.apple.com”的服务器 这可能会使您的机密信息面临风险。” UserInfo={NSErrorFailingURLKey=https://gsp-ssl.ls.apple.com/directions.arpc, NSLocalizedRecoverySuggestion=你想连接到服务器吗 无论如何?,NSUnderlyingError=0x6000014bce40 { 错误 域=kCFErrorDomainCFNetwork 代码=-1202 "(null)" 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>
【问题讨论】:
-
我无法想象苹果的瓷砖 cdn 的证书无效,请检查您设备上的时间和日期是否正确,这可能是一个常见的、鲜为人知的有效证书显示为无效的原因因为日期不匹配
-
@Scriptable 我已经检查了两次日期和时间,一切都正确。我在浏览器向我显示什么的问题中添加了一张图片。它说证书也无效
-
同样的问题。 @Anastasia,问题不在您的设备上。
-
@Anastasia 当我在美国 VPN 时,这对我有用。希望这至少有助于调试。
-
@Alexey,感谢您对 VPN 的建议,VPN 上的一切都很完美,完全没有错误。希望,他们会尽快修复它
标签: ios swift xcode mapkit info.plist