2014-11-11 9 views
10

Ho aggiunto la libreria "ASIHTTPRequest" alla mia app. Ora sto cercando di rimuovere tutti gli avvisi nel mio progetto. Ho corretto tutti gli altri avvisi tranne quelli per "ASIHTTPRequest". Di seguito ricevo gli avvertimenti. è deprecato'kCFStreamSSLAllowsExpiredCertificates' e 'kCFStreamSSLAllowsAnyRoot' sono deprecati

'kCFStreamSSLAllowsExpiredCertificates':

'kCFStreamSSLAllowsAnyRoot' è deprecato:

come risolvere questo?

Codice:

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

screenshot

+0

Correlati: [numero 395] (https://github.com/pokeb/asi-http-request/issues/395) per 'ASIHTTPRequest' su GitHub. – Pang

risposta

1

Aggiungere la seguente riga sopra la dichiarazione:

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

Come per i commenti nel CFSocketStream.h nel quadro CFNetwork:

kCFStreamSSLAllows ExpiredCertificates:
kCFStreamSSLAllowsExpiredRoots:
kCFStreamSSLAllowsAnyRoot:
bandiere stretta di mano

Lo SSL che colpiscono non attendibile valutazione catena di certificati sono deprecati. Invece, utilizzare la singola proprietà kCFStreamSSLValidatesCertificateChain per disabilitare il controllo catena di certificati se l'utente ha deciso che è opportuno farlo

Quindi la soluzione più semplice è quella di rimuovere le chiavi obsolete ed i loro valori. Mantieni solo kCFStreamSSLValidatesCertificateChain e kCFStreamSSLPeerName nel dizionario sslProperties.

Problemi correlati