16. November 2017

App Transport Security: HTTP für festgelegte Domains erlauben

Seit iOS 9 verbietet App Transport Security standardmäßig das Laden von unverschlüsselten HTTP-URLs via NSURLConnection und NSURLSession. Damit sind App-Entwickler angehalten, sichere HTTPs-Verbindungen zu verwenden. Wird dennoch versucht, auf HTTP-URLs zuzugreifen, wird dies mit einem Fehler quittiert:

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.

Mit folgender Einstellung in der Info.plist des Projektes können Ausnahmen je Domain definiert werden:

Info.plist: NSExceptionDomains

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>www.example.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

Sie können die Werte aus diesem Dokument kopieren:

Example Info.plist

Diese Möglichkeit sollte nur für „unkritische“ Resourcen verwendet werden wie z.B. für Bilddateien, die von der App nachgeladen werden; niemals für Anmelde- oder Nutzerdaten.

Weitere Informationen

Subscribe Blog abonnieren via: E-Mail · Twitter
iOS Training Schulung Workshop
Nächste iOS-Schulung:
24. – 28. Juni 2019
Frankfurt am Main
iOS Buch
iOS 12-Apps entwickeln mit Swift & Xcode 10