J'utilise l'indicateur Allow Arbitrary Loads dans mes applications. Apple a annoncé que l'ATS sera obligatoire pour toutes les apps à partir de janvier 2017. Cela signifie-t-il que mes applications actuelles, qui sont téléchargées sur l'AppStore, ne fonctionneront pas ou que je ne pourrai pas publier un nouveau binaire avec la configuration non-HTTPS ?
Réponses
Trop de publicités?Les applications qui sont déjà dans la boutique continueront à fonctionner comme aujourd'hui ; les exceptions ATS continueront à être reconnues par iOS.
Si vous soumettez une nouvelle version de votre application, vous devrez fournir une justification à Apple dans vos notes de révision afin d'être approuvé.
Il existe un certain nombre de cas où la désactivation de l'ATS est la seule option, par exemple :
- Votre application accède à des URLs fournis par l'utilisateur, et vous ne pouvez pas exiger l'utilisation de TLS.
- Votre application accède à un certain type de dispositif (par exemple, des systèmes intégrés) qui ne prend pas ou ne peut pas prendre en charge TLS ou pour lequel l'émission (potentiellement des milliers) de certificats à ces dispositifs n'est pas pratique.
La situation est examinée dans ce fil y compris des commentaires d'un employé d'Apple. Essentiellement,
... L'App Review exigera une "justification raisonnable" pour la plupart des exceptions à l'ATS. L'objectif est de débusquer les personnes qui, lors de la sortie de l'ATS, l'ont simplement désactivé globalement et sont passées à autre chose. Cela ne sera plus autorisé.
Si votre application comporte actuellement des exceptions ATS, vous devriez examiner les points suivants :
- Est-il nécessaire de désactiver l'ATS globalement ou seulement pour des domaines spécifiques ?
- Si vous avez désactivé l'ATS au niveau mondial, pouvez-vous le réactiver pour des domaines spécifiques (par exemple, des points d'extrémité d'API de services Web connus) ?
- Si vous utilisez
WKWebView
pouvez-vous passer àNSAllowsArbitraryLoadsInWebContent
(Pour que cela soit suffisant, votre application doit être uniquement sous iOS 10) ?
Par exemple, j'ai une application qui permet à l'utilisateur de désigner une page web à afficher dans une page d'accueil. WKWebView
. J'ai spécifié NSAllowsArbitraryLoadsInWebContent
mais aussi NSAllowsArbitraryLoads
puisque je veux que mon application fonctionne sur iOS 9. Enfin, j'ai configuré NSExceptionDomains
exceptions pour réactiver l'ATS pour les services web que mon application utilise et pour lesquels je sais que TLS est supporté.
Dans mes notes de révision de l'application, j'explique le besoin de NSAllowsAbitraryLoads
en raison du contenu des utilisateurs et du support iOS9.
Selon les dernières nouvelles, Apple a prolongé le délai susmentionné. Voici un extrait du site d'Apple
Prise en charge de la sécurité du transport des applications 21 décembre 2016
App Transport Security (ATS), introduit dans iOS 9 et OS X v10.11, améliore la sécurité et la confidentialité des utilisateurs en exigeant que les applications utilisent des des connexions réseau sécurisées via HTTPS. Lors de la WWDC 2016, nous avons annoncé que les apps soumises à l'App Store devront prendre en charge ATS à la fin de l'année. de l'année. Pour vous donner plus de temps pour vous préparer, cette échéance a été prolongé et nous fournirons une autre mise à jour lorsqu'une nouvelle date limite sera confirmée.