2vi*_*on2 11 objective-c asihttprequest ios
我已将"ASIHTTPRequest"库添加到我的应用程序中.现在,我正在尝试删除项目中的所有警告.我已经修复了除"ASIHTTPRequest"之外的所有其他警告.我收到下面的警告.
不推荐使用'kCFStreamSSLAllowsExpiredCertificates':
不推荐使用'kCFStreamSSLAllowsAnyRoot':
怎么解决这个?
码:
NSDictionary *sslProperties = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithBool:YES], kCFStreamSSLAllowsExpiredCertificates,
[NSNumber numberWithBool:YES], kCFStreamSSLAllowsAnyRoot,
[NSNumber numberWithBool:NO], kCFStreamSSLValidatesCertificateChain,
kCFNull,kCFStreamSSLPeerName,
nil];
Run Code Online (Sandbox Code Playgroud)

小智 29
根据CFNetwork框架中CFSocketStream.h中的注释:
kCFStreamSSLAllowsExpiredCertificates:
kCFStreamSSLAllowsExpiredRoots:
kCFStreamSSLAllowsAnyRoot:不推荐使用影响不受信任的证书链评估的SSL握手标志.相反,
kCFStreamSSLValidatesCertificateChain如果用户已决定这样做,则使用single属性禁用证书链检查
因此,简单的解决方案是删除已弃用的密钥及其值.只保留kCFStreamSSLValidatesCertificateChain并kCFStreamSSLPeerName在sslProperties字典中.
在声明上方添加以下行:
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
Run Code Online (Sandbox Code Playgroud)