2014-11-11 12 views
10

Ich habe die "ASIHTTPRequest" -Bibliothek zu meiner App hinzugefügt. Jetzt versuche ich alle Warnungen in meinem Projekt zu entfernen. Ich habe alle anderen Warnungen außer denen für "ASIHTTPRequest" behoben. Ich erhalte die Warnungen unten.'kCFStreamSSLAlowsExpiredCertificates' und 'kCFStreamSSLAlowsAnyRoot' ist veraltet

'kCFStreamSSLAllowsExpiredCertificates' ist veraltet:

'kCFStreamSSLAllowsAnyRoot' ist veraltet:

Wie dieses Problem zu beheben?

Code:

NSDictionary *sslProperties = [[NSDictionary alloc] initWithObjectsAndKeys: 
         [NSNumber numberWithBool:YES], kCFStreamSSLAllowsExpiredCertificates, 
         [NSNumber numberWithBool:YES], kCFStreamSSLAllowsAnyRoot, 
         [NSNumber numberWithBool:NO], kCFStreamSSLValidatesCertificateChain, 
         kCFNull,kCFStreamSSLPeerName, 
         nil]; 

screenshot

+0

Related: [Problem # 395] (https://github.com/pokeb/asi-http-request/issues/395) für 'ASIHTTPRequest' auf GitHub. – Pang

Antwort

1

Fügen Sie die folgende Zeile über Ihre Erklärung:

#pragma clang diagnostic ignored "-Wdeprecated-declarations" 
27

sich nach den Ausführungen in CFSocketStream.h im Rahmen CFNetwork:

kCFStreamSSLAlows ExpiredCertificates:
kCFStreamSSLAllowsExpiredRoots:
kCFStreamSSLAllowsAnyRoot:

Die SSL-Handshake-Flags, die nicht vertrauenswürdige Zertifikatskette Auswertung beeinflussen, ist veraltet. Verwenden Sie stattdessen die einzelnen Eigenschaft kCFStreamSSLValidatesCertificateChain Zertifikatskette deaktivieren überprüft, ob der Benutzer entschieden hat, dass es angebracht ist, zu tun, so

So ist die einfache Lösung ist, die veralteten Schlüssel und ihre Werte zu entfernen. Halten Sie nur kCFStreamSSLValidatesCertificateChain und kCFStreamSSLPeerName im sslProperties Wörterbuch.