¿Es posible desactivar la red en iOS Simulator?


Estoy tratando de depurar algún comportamiento inconsistente que estoy viendo en una aplicación que obtiene sus datos primarios de Internet. No veo los problemas en el simulador, solo en el dispositivo, así que me gustaría reproducir el entorno de red y conectividad en el simulador.

¿Hay alguna forma de desactivar la red en el simulador?

(Me estoy conectando a la Mac de forma remota para codificar, no hay otra opción en este momento, por lo que deshabilitar la red del sistema operativo no es una opción).

Author: Paul Hammond, 2011-01-26

17 answers

Me temo que no, el simulador comparte cualquier conexión de red que esté usando el sistema operativo. Presenté un informe de error de Radar sobre la simulación de las condiciones de la red hace un tiempo; podría considerar hacer lo mismo.

 219
Author: Noah Witherspoon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-26 18:37:12

Utilice un simple Jaula de Faraday para bloquear o limitar el nivel de señal de RF externa.

Usted puede hacer su propio con papel de aluminio. Las aberturas deben ser más pequeñas que la longitud de onda de su servicio de datos si eso es lo que desea bloquear.

800 Mhz tiene una longitud de onda de 37 cm (14") , 1900 Mhz tiene una longitud de onda de 16 cm (6").

Esto funciona mejor con un dispositivo real que con el simulador, ya que es difícil trabajar en el Mac cuando está dentro de la jaula de Faraday ;-)

introduzca la descripción de la imagen aquí

 1442
Author: progrmr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-27 19:56:28

Sí. En Xcode, puede ir a Xcode elemento de menú -> Open Developer Tools -> More Developer Tools y descargue " Herramientas adicionales para Xcode", que tendrá el Acondicionador de Enlaces de red.

Con esta herramienta, puede simular diferentes escenarios de red (como 100% de pérdida, 3G, DNS de alta latencia y más) y también puede crear sus propios escenarios personalizados.

 205
Author: swathy valluri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-20 08:40:31

La única forma de desactivar la red en el simulador de iOS que conozco es usando herramientas como Little Snitch o Hands Off. Con ellos puede denegar/bloquear cualquier conexión de red entrante y saliente. Puede configurarlo para que solo bloquee las conexiones desde la aplicación simulador. Funciona como un firewall.

 45
Author: Felix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-26 18:41:34

Simplemente apague su WiFi en Mac OSX esto funciona un placer!

 13
Author: benpalmer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-12 09:21:34

Simplemente actualizando la respuesta a la fecha actual. Desde Xcode 4 (?) hay un panel de preferencias en /Applications/Utilities llamado Network Link Conditioner. Ya sea que utilice uno de los perfiles existentes o cree su propio perfil personalizado con 0 Kbps Up/Downlink y 100% caído.

 11
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-01 09:52:29

Descargar Paquete de herramientas adicionales (Acondicionador de Enlace de red)

Descripción

Ejemplo en Sierra: introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

 10
Author: Nik Kov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-16 19:22:13

Dado que Xcode no proporciona tal característica, definitivamente irá por alguna aplicación/ herramienta de terceros. Apagar la red MAC también ayudará a apagar la red del simulador de iOS.

Usted puede apagar MAC Internet desde "System Preferences..." > "Network" y apague la fuente de red desire.

Para desactivar MAC Ethernet fuente de Internet: Fuente de Red EtherNet

Para desactivar la fuente de Internet WiFi MAC (si su MAC está en Wifi Internet): introduzca la descripción de la imagen aquí

 8
Author: Ali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-24 14:11:12

Puede acelerar la conexión a Internet con una aplicación de terceros como

Charles: http://www.charlesproxy.com /

Pulse comando + mayús + T en un Mac para configurar la limitación.

 5
Author: mabounassif,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-12 23:44:56

Una idea probablemente loca o parche :

Solo tienes que alternar la bandera de accesibilidad de red

Este es el código que utilizo para alternar mi tiempo de ejecución de marca activando 'Simulator Memory Warning' y es COMPLETAMENTE SEGURO, solo asegúrese de que el código esté en Modo de depuración solo

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application 
{
#ifdef DEBUG
    isInternetAvailable = !isInternetAvailable;
#endif 
}
 5
Author: Darshit Shah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-10 05:32:06

Puede usar Little Snitch para cortar el tráfico de red a cualquier proceso individual, incluidos los que se ejecutan en el simulador de iOS. De esa manera puede mantener su conexión a Internet y desconectar su aplicación en ejecución.

 3
Author: Eran Goldin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-09 15:16:18

Con Xcode 8.3 e iOS 10.3:

XCUIDevice.shared().siriService.activate(voiceRecognitionText: "Turn off wifi")
XCUIDevice.shared().press(XCUIDeviceButton.home)

Asegúrese de incluir @available(iOS 10.3, *) en la parte superior del archivo del conjunto de pruebas.

Puedes alternativamente "Activar el modo Avión" si lo prefieres.

Una vez que Siri desactive wifi o active el Modo Avión, deberá descartar el diálogo de Siri que dice que Siri requiere Internet. Esto se logra presionando el botón de inicio, que descarta el diálogo y regresa a su aplicación.

 3
Author: brandenbyers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-27 23:22:19

Puede usar OHHTTPStubs y stub las solicitudes de red a URL específicas para que fallen.

 2
Author: mwhuss,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-14 19:55:17

¡Podría deshabilitar la red del host en su lugar!

 1
Author: wshcdr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-03 04:38:07

Si tiene al menos 2 redes wifi para conectarse es una forma muy sencilla es utilizar un bug en el simulador iOS:

  1. salir del simulador (cmd-q) si está abierto
  2. conecte su Mac a un wifi (puede que no esté conectado a Internet, no importa)
  3. inicie el simulador (menú: xCode->Abrir Herramienta de desarrollo->Simulador de iOS) y espere mientras se carga
  4. cambie la red wifi a otra
  5. beneficio

El error es que el simulador intenta usar una red (IP?) que no está conectado ya.

Hasta que reinicie el simulador - no tendrá Internet (incluso si la primera red wifi que conectó tenía conexión a Internet), por lo que puede ejecutar (cmd-R) y detener (cmd-.) proyecto(s) para usar el simulador sin conexión, pero su Mac estará conectado.

Entonces, si necesita ejecutar el simulador conectado, simplemente salga y ejecútelo.

 0
Author: iGore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-28 11:44:28

Puede usar el acondicionador de enlaces de red en su Mac. Puede descargarlo desde el sitio web del desarrollador de Apple. Debería estar disponible donde obtenemos las versiones anteriores de Xcode e iOS. Con este acondicionador de red puede cambiar la fuerza de la red de wifi a ninguna red.

También cuando instala el acondicionador de red se instala en las preferencias del sistema.

 0
Author: Astha Trivedi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-13 21:14:41

Hay dos manera de desactivar IOS Simulador de internet:

  • Desconecte su conexión de red
  • Apagar Wi-Fi

Es la forma más sencilla

 0
Author: Daniel Beltrami,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-29 14:10:13