在iPhone模拟器中模拟飞行模式

156

有没有办法在iPhone模拟器中模拟飞行模式?

3个回答

144

关闭您的Mac上的网络连接。


22
非常明显,我自己都踢了自己。但同时,他们肯定可以提供更好的解决方案! - benlumley
47
尽管我们的团队已经向苹果提出类似功能的请求,但实际上这比听起来更加困难。问题在于模拟器中运行的应用程序实际上是Mac应用程序。iPhone模拟器并不模拟iPhone;它只是一个Mac应用程序可以链接并看起来像 iPhone的环境。因此,你需要在系统层面上找到一种方法,以限制应用程序与网络进行通信。Unix并没有提供这个功能;几乎肯定需要内核支持才能实现它。你可以更容易地对NSURLConnection及其类进行限制,但如果某些调用有效而另一些调用无效,则可能会更加混乱。 - Rob Napier
13
这不是模拟飞行模式……因为GPS模拟器仍在运行但没有返回任何数值。 - Jann
22
在某些情况下,仅仅关闭网络连接并没有太大用处。例如,在测试可访问性和互联网可用性时,有时确实需要使用飞行模式。模拟器没有有效的网络连接并不是完全相同的情况。此外,一些工作场所的计算机存在真正的身份验证问题,这意味着关闭网络连接并不总是一个选项(因为所有事情都会变得混乱)。 - occulus
11
我同意occuulus的观点。在办公室工作时,关闭整个机器的网络会严重影响工作环境中的沟通。有很多情况下这不是可接受的解决方案。 - Krejko
显示剩余9条评论

65

您可以安装苹果的网络链接限制器。

在 Yosemite 上:

网络链接限制器可以在“Xcode 硬件 IO 工具”包中找到。该包可从苹果开发者下载页面下载。下载完成后,打开 DMG 文件夹并双击 “Network Link Condition.prefPane” 安装 (来源)。

通过此首选项面板,您可以创建一个速度为 0kbps 的配置文件。

网络链接限制器

在较旧的OS X版本上:

Mountain Lion / Mavericks: Xcode > 打开开发人员工具 > 更多开发人员工具
Lion: /Developer/Applications/Utilities/Network Link Conditioner


13
当使用网络链路调节器时,可达性没有任何变化。事实上,当我将其设置为0kbps和100%数据包丢失时,它仍然通过WiFi报告所有内容都是正常和可访问的。这对于尝试测试飞行模式无效。 - E.Freitas
1
你确定把左侧的大开关切换到“ON”了吗? - Tieme
我也遇到了同样的问题,将链接调节器设置为0kbps上行/下行和100%数据包丢失率上行/下行并没有起到帮助作用。iOS模拟器在一段时间后会超时。0kbps被认为是最大带宽。 - Design by Adrian
1
问题在于它类似于关闭网络连接。这并不好,因为您使用的所有其他应用程序也会失去互联网连接。 - kirhgoff

22

您也可以使用Little Snitch暂时阻止此应用程序的互联网连接。


所以这意味着您可以编辑 hosts 文件以实现相同的效果,感谢您的建议伙计。 - panchicore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接