2015-10-08 8 views
6

Meine iOS-Gerät anmeldet (auf Simulator und reale Geräte) wurde mit ein paar Dutzend Zeilen des folgenden Fehlers Spam gefüllt:CFNetwork interner Fehler: CFNetworkInternal.h: 478

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

Warum ich diese sehe, und Wie werde ich sie loswerden?

+2

ich fragte und meine eigene Frage zu beantworten. Ich habe auf stackoverflow/Google gesucht, als ich den Fehler zum ersten Mal sah, und sah, dass ich der einzige war, der einen Fehler in dieser Zeile sah. Nach stundenlangem Debugging, um einen minimalen Repro-Fall zu erstellen, fand ich den hirnlosen, dummen Fehler, den ich gemacht hatte, und entschied mich, eine Frage und Antwort zu stellen, um anderen zu helfen, die darauf stoßen könnten. (Und ich muss etwas länger warten, bevor ich die Antwort als angenommene Antwort markieren darf.) –

Antwort

18

Es stellte sich heraus, dass dies auf eine falsche Installation in meinem NSAppTransportSecurity von Info.plist zurückzuführen war.

Vergewissern Sie sich, dass Sie für jede der NSExceptionDomains verwenden, werden die Unterfelder des Wörterbuchs (wie NSIncludesSubdomains, NSExceptionRequiresForwardSecrecy und NSExceptionAllowsInsecureHTTPLoads) Boolean, nicht String eingeben gesetzt. Während XCode Ihre Werte von YES und NO sehr ähnlich anzeigen kann, ist der Typ wichtig, um sicherzustellen, dass CFNetwork Ihre Konfiguration fehlerfrei versteht.

Falsch: Incorrect setup

Correct: Correct setup

+1

Vielen Dank !! Keine Ahnung, warum es standardmäßig zu string würde, aber das hat mir so viele Kopfschmerzen erspart. Vielen Dank! – WendiKidd

+0

Ja, ich bin gerade auf dieses Problem gestoßen, obwohl ich in der letzten Stunde auf die * Tasten * im Wörterbuch gestarrt habe. Prost! – skooter

+0

in Xcode 7.3.4 konnte ich den Typ von String zu Boolean nicht ändern, da es deaktiviert wurde. Ich musste einen anderen Texteditor verwenden, um den Typ zu ändern – Leo