J'ai une application client-server, afin de le tester avec Simulator J'ai un server sur une machine virtuelle et je change le file hosts de mac (/ etc / hosts) pour que je puisse y arriver.
Cela fonctionne bien dans XCode 5, mais sur XCode 6, le server ne peut pas être atteint. Lorsque j'essaie d'ouvrir une connection NSURLConnection, je reçois …
Error Domain = kCFErrorDomainCFNetwork Code = 310 "Un problème est survenu lors de la communication avec le server proxy Web sécurisé (HTTPS)." UserInfo = 0x78b3fc50 {_kCFStreamErrorCodeKey = -2096,
NSErrorFailingURLSsortingngKey = https: //xxx.yyy.zzz/mobile/login , NSErrorFailingURLKey = https: //xxx.yyy.zzz/mobile/login , NSLocalizedDescription = Un problème est survenu lors de la communication avec le server proxy Web sécurisé (HTTPS)., _kCFStreamErrorDomainKey = 4, NSLocalizedRecoverySuggestion = Veuillez vérifier vos parameters de proxy. Pour get de l'aide sur ce problème, contactez votre administrateur système.
Bien sûr, le server peut être atteint à partir de Safari en tapant https: //xxx.yyy.zzz , il répond à ping et il fonctionne toujours si j'active XCode 5.
Je suppose que le simulateur ignore les changements pour le file hosts du mac, ou peut-être utilise-t-il son propre file hosts privé.
Si j'entre une "résolution codée en dur" (traduire le code xxx.yyy.zzz en adresse IP), le server peut être atteint.
Quelqu'un a une idée de comment résoudre ce problème?
Assurez-vous d'append chaque alias d'hôte sur une ligne différente:
# Wrong! 127.0.0.1 example.com www.example.com # Good 127.0.0.1 example.com 127.0.0.1 www.example.com
J'ai eu le même problème avec Xcode 6.
Il y a un bug ou un changement de comportement dans OSX lié à /etc/hosts
.
Si j'ajoute plus d'alias d'hôte sur la même ligne dans le file /etc/hosts
OSX, le simulateur iOS me donne la même erreur. Mais si j'ajoute chaque alias d'hôte sur sa propre ligne, le simulateur iOS fonctionne comme je le souhaite.
Avez-vous essayé de vider le cache DNS avec la command
sudo dscacheutil -flushcache
avant de quitter et de relancer le simulateur iOS?