XCode 6模拟器忽略主机文件更改

我有一个客户端服务器应用程序,为了testing它与模拟器我有一台虚拟机上的服务器,我更改MAC的主机文件(/ etc / hosts),所以我可以到达那里。

在XCode 5中可以正常工作,但在XCode 6上无法访问服务器。 当试图打开一个NSURLConnection它时,我得到 –

错误域= kCFErrorDomainCFNetwork代码= 310“与安全Web代理服务器(HTTPS)通信时出现问题。 UserInfo = 0x78b3fc50 {_kCFStreamErrorCodeKey = -2096,
NSErrorFailingURLStringKey = https://xxx.yyy.zzz/mobile/login,NSErrorFailingURLKey = https://xxx.yyy.zzz/mobile/login,NSLocalizedDescription =与安全networking代理服务器(HTTPS)通信时出现问题。 _kCFStreamErrorDomainKey = 4,NSLocalizedRecoverySuggestion =请检查您的代理设置。 有关此问题的帮助,请联系您的系统pipe理员。

当然,通过键入https://xxx.yyy.zzz ,可以从Safari访问服务器,如果打开XCode 5,它仍然可以ping通,并且仍然可以工作。

我觉得模拟器会忽略mac主机文件的变化,或者使用它自己的私有主机文件。

如果我input一些“硬编码parsing”(在代码中翻译xxx.yyy.zzz到它的IP地址),可以到达服务器。

任何人有任何想法如何解决这个问题?

解:

确保在不同的行上添加每个主机别名:

# Wrong! 127.0.0.1 example.com www.example.com # Good 127.0.0.1 example.com 127.0.0.1 www.example.com 

我的故事:

我有与Xcode 6相同的问题。

/etc/hosts相关的OSX中存在错误或行为更改。

如果我在OSX的/etc/hosts文件的同一行添加更多的主机别名,iOS模拟器给我提供了同样的错误。 但是,如果我在自己的行上添加每个主机别名,iOS模拟器就像我期望的那样工作。

您是否尝试使用该命令刷新DNScaching?

 sudo dscacheutil -flushcache 

在退出和重新启动iOS模拟器之前?