https://developer.apple.com/videos/wwdc/2015/?id=711 @ 5: 55
Je n'arrive pas à ajouter ceci à mon info.plist. Il n'y a aucune valeur. J'exécute XCode Version 7.0 beta (7A121l) et je teste sur iOS9.
Étant donné que je ne peux pas déclarer spécifiquement les URL que je souhaite voir dans la vidéo, je continue de recevoir "App Transport Security a bloqué une charge de ressources HTTP (http: //) en texte clair car elle n'est pas sécurisée. Des exceptions temporaires peuvent être configurées via votre application Erreurs de fichier "Info.plist".
Cependant, je ne semble pas être en mesure de le configurer. Des idées?
ios
objective-c
xcode
ios9
chris P
la source
la source
Réponses:
essayez avec ceci --- a fonctionné pour moi dans Xcode-beta 4 7.0
Aussi une autre option, si vous souhaitez désactiver ATS, vous pouvez utiliser ceci:
Mais ce n'est pas du tout recommandé. Le serveur doit avoir les certificats SSL et éviter toute fuite de confidentialité.
la source
<key>NSAllowsArbitraryLoads</key> <true/><key>NSExceptionDomains</key>
Sinon pour moi, cela n'a pas fonctionné pour la version de sortie pour une raison quelconqueVous devez ajouter uniquement la clé NSAllowsArbitraryLoads à YES dans le dictionnaire NSAppTransportSecurity dans votre fichier info.plist.
Par exemple,
la source
Cela ne fonctionnait pas pour moi, mais cela a fait l'affaire:
la source
<true/>
au lieu de<YES/>
</dict>
et existants</plist>
:Juste pour clarifier ... Vous devez toujours utiliser httpS
Mais vous pouvez le contourner en ajoutant l'exception:
la source
Xcode 8.2, iOS 10
la source
Mettre à jour la réponse (après wwdc 2016):
App Transport Security, ou ATS, est une fonctionnalité introduite par Apple dans iOS 9. Lorsque ATS est activé, il force une application à se connecter aux services Web via une connexion HTTPS plutôt que via HTTP non sécurisé.
Cependant, les développeurs peuvent toujours désactiver ATS et autoriser leurs applications à envoyer des données via une connexion HTTP, comme indiqué dans les réponses ci-dessus. Fin 2016, Apple rendra l' ATS obligatoire pour tous les développeurs qui espèrent soumettre leurs applications à l'App Store. lien
la source
Cela permettra de se connecter à .com .net .org
la source
la source
Pour expliquer un peu plus sur la réponse de Parasara: la sécurité App Transport va devenir obligatoire et d' essayer de le désactiver peut obtenir votre application rejetée.
En tant que développeur, vous pouvez désactiver la sécurité App Transport si votre code réseau ne fonctionne pas avec lui et que vous souhaitez poursuivre le développement avant de résoudre les problèmes. Disons que dans une équipe de cinq, quatre peuvent continuer à travailler sur d'autres choses pendant que l'on résout tous les problèmes. Vous pouvez également désactiver la sécurité App Transport en tant qu'outil de débogage si vous rencontrez des problèmes de réseau et que vous souhaitez vérifier s'ils sont causés par la sécurité App Transport. Dès que vous savez, vous devez le réactiver immédiatement.
La solution que vous devrez utiliser à l'avenir est de ne pas utiliser du tout http, sauf si vous utilisez un serveur tiers qui ne prend pas en charge https. Si votre propre serveur ne prend pas en charge https, Apple aura un problème avec cela. Même avec des serveurs tiers, je ne parierais pas qu'Apple l'accepte.
Idem pour les différents contrôles de sécurité du serveur. À un moment donné, Apple n'acceptera que des exceptions justifiables.
Mais surtout, considérez ceci: vous mettez en danger la vie privée de vos clients. C'est un grand non-non dans mon livre. Ne fais pas ça. Corrigez votre code, ne demandez pas l'autorisation d'exécuter du code non sécurisé.
la source
Une mauvaise nouvelle pour les développeurs utilisant NSAppTransportSecurity.
https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/
la source
Dans la ligne de commande du shell mac , utilisez la commande suivante:
La commande ajoutera toutes les valeurs nécessaires dans votre fichier plist.
la source
XCODE 8, Swift 3: Vous devez ajouter une ligne: **
** dans la liste des propriétés d'informations internes info.plist.
la source
Xcode 9.2, Swift 4, cela fonctionne pour moi.
la source