2009-07-03 77 views
14

如果我找不到互联网连接,Apple希望我给用户一个友好的道歉。使用可达性演示,这很简单。我想更进一步并监控连接丢失情况。该演示具有此功能,但我无法弄清楚如何关闭我的连接以测试它是否可用。IPhone连接测试:我如何强制它失去连接?

我该如何去模拟连接丢失(或实际丢失)?

回答

18

如果您正在开发iPhone模拟器,只需将您的计算机与互联网断开即可。如果您的计算机没有网络访问权限,那么iPhone Simulator也不会。

要测试设备上,你可以做到以下几点:

首先,设置一个无线网络,您可以使用测试路由器。

您可以打开手机上的飞行模式,然后重新打开WiFi。这将阻止3G连接提供数据访问。

启动您的应用程序。现在,您只需断开WiFi路由器即可模拟连接丢失。

+14

或尝试法拉第笼? http://en.wikipedia.org/wiki/Faraday_cage – russau 2009-07-03 04:26:24

+1

我通常戴着一顶铁皮帽,所以笼子是一个自然的进步。嘿 谢谢Joey,我想在设备上测试。干杯。 – 2009-07-03 04:43:15

+2

您可以将手机放在微波炉中模拟真实的连接丢失......只要记住不要打开微波炉! – Sam 2012-05-15 13:22:18

13

您可以使用SpeedLimit preference pane来模拟模拟器下的网络延迟。在ipfw命令之上构建了一个command line version

与仅仅延长线缆或查杀WiFi相比,您可以在击中特定主机时指定速度,因此可以在不中断常规网络服务的情况下进行测试。

+0

谢谢,SpeedLimit的东西非常有用。 – 2011-12-08 20:08:16

4

对于在模拟器中进行测试,我非常使用Little Snitch。这是一个非常有用的应用程序,用于编写关于可以与外部世界进行沟通的规则以及多长时间。

它也会通知您,如果应用程序希望随时访问互联网,并且您可以临时限制访问时间,该会话或永久。

至于设备上的测试,我登录到我的无线路由器,并在测试期间临时禁用网络或通过MAC ID开启限制。

2

也许这个首选项窗格对你也很有用:SpeedLimit.prefPane它不能失去连接,但是你可以根据你试图访问的主机和端口来减慢它。

4

使用Charles Web Proxy 您可以检查您的应用程序发送的所有HTTP/S请求以及它接收到的响应,通过节制连接来模拟任何网络速度。使用Bandwidth = 0创建名为“Disconnected”的自定义调节器配置文件,以模拟网络断开连接。

12

你可以安装苹果的网络链接调理

在优胜美地:

网络链接调理可以在“硬件IO工具Xcode的”包中找到。这可以从Apple Developer Downloads page下载。下载完成后,打开DMG并双击“Network Link Condition.prefPane”进行安装(source)。

使用此首选项面板,您可以创建速度为0kbps的配置文件。

Network Link Conditioner

在旧版本的OSX的:

山狮/小牛:Xcode > Open Developer Tool > More Developer Tools
狮子:/Developer/Applications/Utilities/Network Link Conditioner

0

搜索类似的需求,即模拟在真实设备有损WiFi网络连接,我想出了如何做到这一点:) 我连接了我的MacBook Pro的以太网和共享我的Wifi连接到设备。 使用Apple的Network Link Conditioner Prefpane,让我玩连接质量。 模拟3G,Edge和其他波特率非常有用。

下一步:找到并购买一个工作在MAC OS X上的usb wifi适配器,让我们所有人(开发者团队)进行测试,无需将每台计算机连接到以太网。

希望这会帮助你们中的一些人。