2015-10-08 24 views
6

mio IOS registri dei dispositivi (su dispositivi di simulazione e reali) è stato riempito con un paio di dozzine linee del seguente errore: lo spamerrore CFNetwork interno: CFNetworkInternal.h: 478

CFNetwork internal error (0xc01a:/BuildRoot/Library/Caches/com.apple.xbs/Sources/CFNetwork_Sim/CFNetwork-758.0.2/ProjectRuntime/CFNetworkInternal.h:478)

Perché vedo questi, e come faccio a liberarmene?

+2

stavo chiedendo e rispondendo alla mia domanda. Ho cercato su StackOverflow/Google quando ho visto per la prima volta l'errore, ho visto che ero l'unico che ha visto un errore su quella linea. Dopo ore di debugging per costruire un caso di riproduzione minima, ho trovato l'errore stupido del cervello che ho fatto, e ho deciso di fornire una risposta e una domanda, per il bene di altri che potrebbero imbattersi in questo. (E devo aspettare ancora un po 'prima di poter contrassegnare la risposta qui sotto come risposta accettata.) –

risposta

18

Si è scoperto che ciò era dovuto a un'impostazione errata nella mia NSAppTransportSecurity di Info.plist.

Assicurarsi che per ciascuno dei NSExceptionDomains in uso, i sottocampi del dizionario (come NSIncludesSubdomains, NSExceptionRequiresForwardSecrecy e NSExceptionAllowsInsecureHTTPLoads) sono impostati a digitare booleano, non String. Mentre XCode può visualizzare i tuoi valori di YES e NO in modo molto simile, il tipo è importante per garantire che CFNetwork sia in grado di comprendere la tua configurazione senza errori.

errato: Incorrect setup

corretta: Correct setup

+1

Grazie mille !! Non ho idea del motivo per cui sarebbe stato impostato su stringa, ma questo mi ha risparmiato un sacco di mal di testa. Grazie! – WendiKidd

+0

Sì, mi sono imbattuto in questo problema nonostante avessi fissato i * tasti * nel dizionario per l'ultima ora. Saluti! – skooter

+0

in Xcode 7.3.4, non ero in grado di cambiare il tipo da stringa a booleano perché era disabilitato. Ho dovuto usare un altro editor di testo per cambiare il tipo – Leo