iOS模拟器拒绝连接到本地。主机名

时间:2015-10-06 19:39:57

标签: ios-simulator local bonjour

我正在开发一款连接到网络服务的iOS应用。对于开发和测试,我们使用Bonjour在本地网络上查找服务器,并且在登录期间,应用程序提供连接到其中一个而不是生产站点。

自从升级到El Capitan后,我无法从Simulator连接到在同一台Mac上运行的Web服务器。我可以使用模拟移动Safari和OS X中的Python备份Web服务器来重现此问题。

  1. 打开终端,启动网络服务器:python -m SimpleHTTPServer 8000
  2. 在模拟器中打开Safari,输入网址:http://my-computer-name.local.:8000/
  3. Simulated Mobile Safari显示“Safari无法打开页面,因为它无法连接到服务器。”

    此外,每次尝试加载URL时,控制台中都会显示以下消息:

    assertiond[____]: assertion failed: 15A284 13A340: assertiond + 13207 [28CC4371-F3F9-3578-9436-310B23A2C638]: 0x1  
    

    其他可能相关的事实:

    • 桌面版Safari可以使用网址http://my-computer-name.local.:8000/
    • 进行连接
    • Real Mobile Safari(位于同一网络的iOS设备上)可以使用网址http://my-computer-name.local.:8000/
    • 进行连接
    • 模拟移动Safari可以使用URL http://127.0.0.1:8000/进行连接(我需要它来使用Bonjour提供的主机名)。
    • Simulated Mobile Safari可以使用http://other-computer.local.:8000/
    • 等网址连接到另一台计算机
    • 我正在使用模拟器版本9.0(SimulatorApp-620 CoreSimulator-179)
    • OS X El Capitan 10.11(15A284)
    • 有趣的是,在网上搜索UUID 28CC4371-F3F9-3578-9436-310B23A2C638只会产生少量的职位。 (修复此错误可以赚15美元!)
    • 这似乎与App Transport Security无关。当ATS被禁用时,我的应用就会采用这种方式。

    你能重现这个问题吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:4)

我通过在本地OSX / etc / hosts文件中添加一个条目来解决这个问题:

在“localhost”之后附加您的FQDN:

127.0.0.1 localhost mymachine.mydomain.local