info.plist
根据以下错误消息,我需要在我的设置中启用HTTP模式?
传输安全性阻止了明文HTTP(http://)资源加载,因为它不安全.可以通过应用程序的Info.plist文件配置临时例外.
假设我的域名是example.com
.
因此,昨晚发布的iOS新测试版SDK具有"App Transport Security",鼓励开发人员使用https而不是http.原则上,这是一个好主意,我已经在我们的临时/生产环境中使用https.但是,当iOS应用程序连接到我在笔记本电脑上运行的Web服务时,我的本地开发环境中没有设置https.
从今天早上的一些游戏中可以看出,URL加载系统即使您将其设为http URL,也会决定使用https.有谁知道如何禁用此行为 - 即使只是针对特定的URL?
有iOS 9 beta 1的人有这个问题吗?
我使用标准NSURLConnection连接到web服务,一旦调用webservice我就得到以下错误.这目前在iOS 8.3中有效
可能的beta bug?任何想法或想法都会很棒!我知道它在iOS 9开发的早期阶段
这是完整的错误:
CFNetwork SSLHandshake失败(-9824)NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9824)
NSURLRequest * urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://mywebserviceurl"]];
NSURLResponse * response = nil;
NSError * error = nil;
NSData * data = [NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:&response
error:&error];
Run Code Online (Sandbox Code Playgroud) 自从我使用iOS 9升级现有项目以来,我一直收到错误:
发生SSL错误,无法与服务器建立安全连接.
有时我会进入CFNetwork SSLHandshake failed -(9806)
我的代码,但我不确定为什么会发生这种情况,因为我的代码运行顺利,除非我在iOS 6中运行它然后在iOS 7 64位运行时我收到此警告.
任何人都可以建议我,如何处理这个问题?
我得到一些SSL Error
s(这导致我的项目停止/挂起而没有崩溃,因为我DispatchGroup
等待请求),我不知道它们是如何引起的,它们是什么,或者该怎么做.
我看过无数的网页大概这个问题,但目前还没有太多的文件或具有相同问题的人.我试过更改info.plist,但似乎没有帮助.两者都是plist
这样的:( accounts.spotify.com
是访问令牌请求的URL的域)
当我向服务器发出请求时,我可以看到我的代码失败了.(这是我的框架).如前所述,我DispatchGroup
等待这个请求但代码停止了.
self.currentToken = try self.spotifyRequest("https://accounts.spotify.com/api/token", method: .post, parameters: parameters)
Run Code Online (Sandbox Code Playgroud)
我的要求方法:
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: …
Run Code Online (Sandbox Code Playgroud) 我想使用自签名证书向自定义服务器发出HTTPS请求.我正在使用NSURLConnection类并处理身份验证问题,但始终在控制台中收到错误消息:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
Run Code Online (Sandbox Code Playgroud)
然后使用以下错误调用方法"connection:didFailWithError:":
Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x150094100>, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, NSErrorPeerCertificateChainKey=<CFArray 0x1500ddd90 [0x19f6dab68]>{type = immutable, count = 1, values = (
0 : <cert(0x14e6fb370) s: (server certificate name) i: (custom CA name)>
)}, NSUnderlyingError=0x1504ae170 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be …
Run Code Online (Sandbox Code Playgroud) 在iOS上获得间歇性SSL错误.我已经关闭了ATS,我们知道这也发生在操作系统版本<iOS9上
Error Domain = NSURLErrorDomain Code = 1011"发生SSL错误,无法与服务器建立安全连接." UserInfo = {NSLocalizedDescription =发生了SSL错误,无法与服务器建立安全连接.,NSLocalizedRecoverySuggestion =您是否还要连接到服务器?,_ kCFStreamErrorCodeKey = -9806 NSErrorFailingURLStringKey =,_ kCFStreamErrorDomainKey = 3,NSUnderlyingError = 0x1471b600
从我们的批评日志来看,似乎有些用户能够复制这个.但是我们无法做到
Would you like to connect to the server anyway?
< - 这让我怀疑存在身份验证挑战.我怎么验证?
kCFStreamErrorCodeKey=-9806
< - 有谁知道这个错误意味着什么?
编辑:
-9806
表示errSSLClosedAbort
http://www.opensource.apple.com/source/Security/Security-55179.13/libsecurity_ssl/Security/SecureTransport.h
什么可以导致这个?我不认为这是由于网络不稳定,因为从我们的跟踪工具,到其他主机的SSL连接似乎没问题.当用户遇到此问题时,它可以重新生成.在我看来,我们需要通过wireshark检查故障以获取更多信息.但我们无法重新制作这个.有没有人有想法从野外的应用程序中记录更多信息来调试这个?