2015-09-24 13 views
10

enter image description hereApp Transport Security hat

ich in schnellen Socket.IO eine Klartext-HTTP-Ressource blockiert Bibliothek verwenden und ich erhalte immer diese Fehlermeldung:

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

wenn ich versuche, eine HTTP-Anfrage zu senden. Ich habe die Schlüssel nach der offiziellen Apple-Dokumentation hinzugefügt, aber es hat nicht geholfen.

+0

möglich Duplikat [Transportsicherheit hat Blockierte eine unverschlüsselt HTTP] (http://stackoverflow.com/questions/31254725/transport-security-has-blocked-a-cleartext- http) – brainray

+0

@ william-kinaan Bitte keine irrelevanten Tags zu Fragen hinzufügen. Diese Frage bezieht sich nicht auf Swift, sondern auf iOS. Vielen Dank. – Moritz

Antwort

24

Sie müssen es so zu korrigieren:

enter image description here

Um es einfacher zu machen, dann ist dies der richtige xml in der info.plist

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSExceptionDomains</key> 
     <dict> 
      <key>localhost</key> 
      <dict> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
       <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
       <true/> 
       <key>NSTemporaryExceptionMinimumTLSVersion</key> 
       <string>TLSv1.1</string> 
      </dict> 
     </dict> 
    </dict> 

ändern Sie die localhost zu Ihrem tatsächlichen Server

Check the table for NSAppTransportSecurity options

Wenn Sie mit einer beliebigen Domäne für alle Mitteilungen möchten, können Sie dies tun:

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSAllowsArbitraryLoads</key> 
     <true/> 
    </dict> 

Allerdings sollten Sie die neueste gerade in der Entwicklungsphase verwenden.

+0

Ich habe genau die gleiche Sache gemacht, und ich bekomme das jetzt: App Transport Security hat eine Klartext HTTP (http: //) Ressourcenlast blockiert, da es unsicher ist. Temporäre Ausnahmen können über die Info.plist-Datei Ihrer App konfiguriert werden. Bitte helfen .. –

+0

Ich bin völlig neu in XCode. Ich habe 7.3, also sehe ich die gleichen Variablennamen ** außer **, dass sie nicht * NS * in den Namen haben. Also diese Lösung hat für mich funktioniert! – ebichuhamster

4

Ich sehe einen falschen Schlüssel und einen Tippfehler in Ihrem Screenshot. Hier ist ein funktionierendes Beispiel:

screen

+0

Danke für diesen Fix! Ich konnte die Facebook-Profilinformationen nicht von der graph.facebook.com-Domäne herunterladen, bis ich die NSExceptionAllowsInsecureHTTPLoads-Ausnahme hinzugefügt habe. Funktioniert wie erwartet. Prost! –

6

Eine andere Lösung, die ich als bequemer empfinde, besteht darin, App Transport Security standardmäßig mit dem Schlüssel NSAllowsArbitraryLoads zu deaktivieren. Daher unterliegen alle Domains, die Sie nicht in das NSExceptionDomains Wörterbuch aufnehmen (oder wenn Sie NSExceptionDomains überhaupt nicht enthalten), nicht der App-Transportsicherheit.

enter image description here

+0

Jeder gab die gleiche Antwort außer dieser, die einzige, die funktionierte! Danke :) – emotality

+0

Ich habe XCode 7.1.1 und bin nicht in der Lage, diese Option zu finden – tccpg288

4

Xcode-Projekt -> go + Taste dann info.plist und klicken (App Transport Security Settings) zu erweitern, und erlaubt beliebige Lasten YES einstellen. Danke

1

Ich arbeite in xCode 8.2. Es ist ein wenig anders, aber die Bearbeitung der PLIST Datei, die Sie diese beiden Angebote im App Transport Security Settings Zeile hinzufügen müssen ...:

Allow Arbitrary Loads und Allow Arbitrary Loads in Web Content ... und geben sie beide den Schlüssel YES.

Es funktionierte für mich, hoffe, dass diese Arbeit für Sie und Entschuldigung für mein Englisch.

enter image description here

enter image description here

Verwandte Themen