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.