App de la Sécurité des Transports et des adresses IP dans iOS9
- Je développer mon application iOS à l'aide d'un serveur local en cours d'exécution sur ma boîte de dev. Lors des tests sur les appareils, je me connecte directement via une adresse IP, qui est sur HTTP et non HTTPS (donc je n'ai pas à faire face à l'auto-signé certs pendant le développement, dont le dispositif ne serait même pas de toute façon).
Je pensais que ce serait suffisant:
Cependant, impossible de le faire fonctionner sans les ajouter NSAllowsArbitraryLoads = YES
, AKA ce:
Maintenant, je vais devoir n'oubliez pas de supprimer ce lors de l'annulation d'une production de construire, mais pas au cours du développement...arg. Si le NSExceptionDomains
travail avec les adresses IP, et si non, est-il autre chose que je peux faire sans, permettant de NSAllowsArbitraryLoads
?
Vous devez vous connecter pour publier un commentaire.
Codée en dur l'adresse IP de l'habitude de travailler dans iOS9. J'ai aussi été confronté au même problème.
Essayé toutes les permutations & combinaisons de solutions disponibles.
Enfin, il fallait utiliser un vrai nom de domaine.
Donc, PAS de.Dans iOS9 vous ne peut pas sortir avec codée en dur adresses IP.
Une solution de contournement consiste à utiliser xip.io, comme l'a expliqué QJeffR dans ce Forums des Développeurs Apple thread (qui était partagée par David L dans son commentaire):
Comme @PanxShaz dit que vous ne pouvez pas mettre codé en dur l'adresse IP, mais vous pouvez utiliser une simple solution de contournement:
Ouvrir votre
/etc/hosts
fichier à l'aide desudo
et ajouter un nouveau nom de domaine de votre adresse ip. Exemple:192.168.99.100 docker-host.localhost
Puis rincer votre DNS :
dscacheutil -flushcache
Et enfin l'utilisation de ce nouveau domaine local dans votre application de sécurité de transport des exceptions.
Si vous utilisez iOS 10+, il suffit de régler le NSAllowsLocalNetworking drapeau.