iOS9 obtenir l'erreur "une erreur ssl s'est produite et une connexion sécurisée au serveur ne peut pas être faite"


Answers

Même si l'autorisation de chargements arbitraires ( NSAllowsArbitraryLoads = true ) est une bonne solution de contournement, vous ne devez pas désactiver entièrement ATS, mais activer la connexion HTTP que vous souhaitez autoriser:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>
Question

Depuis que j'ai mis à jour mon projet existant avec iOS 9, je continue à recevoir l'erreur:

Une erreur SSL s'est produite et une connexion sécurisée au serveur ne peut pas être établie.




Projet Xcode -> goto info.plist et cliquez sur le bouton + puis sur Ajouter (Paramètres de sécurité du transport de l'application). Développer, Autoriser les charges arbitraires Définir YES. Merci




Si vous ne faites que cibler des domaines spécifiques, vous pouvez essayer de l'ajouter dans Info.plist de votre application:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>