Simula la modalità aereo in iPhone Simulator


Risposte:


114

Disattiva la connessione di rete sul Mac.


14
così ovvio che mi sono preso a calci. ma allo stesso tempo, sicuramente avrebbero potuto fare una soluzione migliore!
Benlumley,

37
È più difficile di quanto sembri, anche se il nostro team ha chiesto ad Apple funzionalità simili. Il problema è che le app in esecuzione nel simulatore sono app per Mac. IPhone Simulator non emula l'iPhone; è solo un ambiente in cui le app Mac si collegano e sembrano un iPhone. Quindi è necessario un modo, a livello di sistema, per impedire a un'app di comunicare con la rete. Unix non lo fornisce; quasi sicuramente avrebbe bisogno del supporto del kernel per ottenerlo. Potresti farlo più facilmente per NSURLConnection e i suoi parenti, ma potrebbe essere più confuso se alcune chiamate funzionano e altre no.
Rob Napier,

13
Questo non simula la modalità aereo ... poiché il simulatore GPS funziona ancora ma non restituisce un valore.
Jann,

18
Disattivare la connessione di rete non è così utile in alcune circostanze. Ad esempio, quando stai testando la raggiungibilità e la disponibilità di Internet, a volte hai davvero bisogno della modalità aereo. Il simulatore che non ha una connessione di rete funzionante non è proprio lo stesso. Inoltre, in alcuni ambienti di lavoro sono presenti computer con reali problemi di autenticazione che implicano che l'uccisione della connessione di rete non è sempre un'opzione (poiché tutto va in tilt).
occulus,

9
Sono d'accordo con occuulus. Quando si lavora in ufficio, spegnere la rete per l'intera macchina è gravemente dannoso per la comunicazione nell'ambiente di lavoro. Ci sono molte situazioni in cui questa non è una soluzione accettabile.
Krejko,

59

È possibile installare il Network Link Conditioner di Apple

Su Yosemite:

Network Link Conditioner si trova nel pacchetto "Hardware IO Tools for Xcode". Questo può essere scaricato dalla pagina Download di Apple Developer . Una volta terminato il download, apri DMG e fai doppio clic su "Network Link Condition.prefPane" per installare ( sorgente ).

Con questo pannello delle preferenze è possibile creare un profilo con una velocità di 0kbps.

Condizionatore di collegamento di rete

Nelle versioni precedenti di OSX:

Mountain Lion / Mavericks: Xcode > Open Developer Tool > More Developer Tools
Lion:/Developer/Applications/Utilities/Network Link Conditioner


11
La raggiungibilità non vede alcun cambiamento quando si utilizza Network Link Conditioner. In effetti, quando l'ho impostato su 0kbps e la perdita di pacchetti al 100%, riporta comunque tutto come attivo e raggiungibile tramite wifi. Questo non funziona per provare a testare la modalità aereo.
E.Freitas,

1
sei sicuro di aver impostato l'interruttore principale a sinistra su "ON"?
Tieme

Lo stesso problema qui, Link Conditioner a 0kbps su / giù e la perdita di pacchetti del 100% su / giù non aiuta. Il simulatore iOS va in timeout dopo un po '. 0 kbps è assunto come larghezza di banda MAX.
Design di Adrian,

17

Puoi usare Little Snitch anche per temp. bloccare la connessione Internet per questa app.


quindi significa che puoi modificare i file host per ottenere lo stesso, grazie per il compagno di idea.
Panchicore,

-1

Hack più semplice: crea una funzione controllando la connessione

import NetInfo from '@react-native-community/netinfo';

export const ckeckIsConnected = async () => {
  const isConnected = NetInfo.fetch().then((state) => {
    return state.isConnected;
  });
  return isConnected;
};

Effettua il recupero dei tuoi dati solo se è presente una connessione. Per simulare nessuna connessione, torna false a questa funzione qualunque sia la connessione reale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.