title: Can't disable App Transport Security for http with iOS 11
body: <p>I've never had any problems disabling ATS in the past, but now I just can't connect to a http url at all (keep getting "ERROR: Cannot contact server with http scheme. Only https allowed"). I've tried a few things in the info.plist from reading past questions, but none of them solve the issue. Here's the current content of my info.plist</p>
  
  <pre><code>&lt;key&gt;NSAppTransportSecurity&lt;/key&gt;
      &lt;dict&gt;
          &lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt;
          &lt;true/&gt;
          &lt;key&gt;NSExceptionDomains&lt;/key&gt;
          &lt;dict&gt;
              &lt;key&gt;domainTheAppIsTryingToContact.com&lt;/key&gt;
              &lt;dict&gt;
                  &lt;key&gt;NSExceptionAllowsInsecureHTTPLoads&lt;/key&gt;
                  &lt;true/&gt;
                  &lt;key&gt;NSIncludesSubdomains&lt;/key&gt;
                  &lt;true/&gt;
                  &lt;key&gt;NSThirdPartyExceptionAllowsInsecureHTTPLoads&lt;/key&gt;
                  &lt;true/&gt;
              &lt;/dict&gt;
          &lt;/dict&gt;
      &lt;/dict&gt;
  </code></pre>
  
  <p>Why is the above not enabling me to connect over http? </p>
  
  <p>If I just use NSAllowsArbitraryLoads on its own without NSExceptionDomains it doesn't work either (I'm just experimenting using NSExceptionDomains in an attempt to get things to work) - so why therefore does the documentation for ATS state this:</p>
  
  <blockquote>
    <p>If (NSAllowsArbitraryLoads) set to YES, disables all ATS restrictions
    for all network connections</p>
  </blockquote>
  
  <p>That's not a true statement, its obviously NOT disabling all ATS restrictions for all network connections if I'm getting "ERROR: Cannot contact server with http scheme. Only https allowed"</p>
  
  <p>UPDATE: I ran /usr/bin/nscurl --ats-diagnostics for the url and everything failed.
  However, that just brings me back to that Apple documentation statement again - if all nscurl combinations failed, then doesn't that just point to: " If (NSAllowsArbitraryLoads) set to YES, disables all ATS restrictions for all network connections" being a false statement once more.</p>