Simuler le mode avion dans iPhone Simulator


Réponses:


114

Désactivez votre connexion réseau sur le Mac.


14
si évident que je me suis donné un coup de pied. mais en même temps, ils auraient sûrement pu faire une meilleure solution!
benlumley

37
C'est plus difficile qu'il n'y paraît, même si notre équipe a demandé à Apple des fonctionnalités similaires. Le problème est que les applications exécutées dans le simulateur sont en réalité des applications Mac. Le simulateur iPhone n'émule pas l'iPhone; c'est juste un environnement pour lequel les applications Mac se lient et ressemblent à un iPhone. Vous avez donc besoin d'un moyen, au niveau de la couche système, d'empêcher une application de communiquer avec le réseau. Unix ne fournit pas cela; il aurait certainement besoin du support du noyau pour l'obtenir. Vous pourriez le faire plus facilement pour NSURLConnection et ses parents, mais cela pourrait être plus déroutant si certains appels fonctionnent et d'autres pas.
Rob Napier

13
Cela ne simule pas le mode avion ... car le simulateur GPS fonctionne toujours mais ne renvoie pas de valeur.
Jann

18
La simple désactivation de votre connexion réseau n'est pas si utile dans certaines circonstances. Par exemple, lorsque vous testez l'accessibilité et la disponibilité Internet, vous avez parfois vraiment besoin du mode avion. Le simulateur n'ayant pas de connexion réseau fonctionnelle n'est pas vraiment le même. En outre, certains lieux de travail ont des ordinateurs qui ont de réels problèmes d'authentification qui signifient que la suppression de votre connexion réseau n'est pas toujours une option (car tout se détraque).
occulus

9
Je suis d'accord avec occuulus. Lorsque vous travaillez au bureau, la désactivation du réseau pour l'ensemble de la machine est gravement préjudiciable à la communication dans l'environnement de travail. Il existe de nombreuses situations où ce n'est pas une solution acceptable.
Krejko

59

Vous pouvez installer le conditionneur de liaison réseau d'Apple

Sur Yosemite:

Network Link Conditioner se trouve dans le package "Hardware IO Tools for Xcode". Cela peut être téléchargé à partir de la page de téléchargement Apple Developer . Une fois le téléchargement terminé, ouvrez le DMG et double-cliquez sur "Network Link Condition.prefPane" pour installer ( source ).

Avec ce panneau de préférences, vous pouvez créer un profil avec une vitesse de 0 kbps.

Conditionneur de lien réseau

Sur les anciennes versions d'OSX:

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


11
L'accessibilité ne voit aucun changement lors de l'utilisation du conditionneur de lien réseau. En fait, lorsque je le règle sur 0 kbps et 100% de perte de paquets, il signale toujours que tout est opérationnel et accessible via le wifi. Cela ne fonctionne pas pour essayer de tester le mode Avion.
E.Freitas

1
êtes-vous sûr d'avoir mis le gros interrupteur à gauche sur "ON"?
Tieme

Même problème ici, Link Conditioner à 0kbps haut / bas et 100% de perte de paquets haut / bas n'aide pas. Le simulateur iOS expire juste après un certain temps. 0kbps est supposé comme bande passante MAX.
Conception par Adrian

17

Vous pouvez également utiliser Little Snitch pour temp. bloquer la connexion Internet pour cette application.


cela signifie que vous pouvez éditer les fichiers hôtes afin de réaliser la même chose, merci pour le copain d'idée.
panchicore

-1

Piratage plus facile: créer une fonction de vérification de la connexion

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

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

Ne récupérez vos données que s'il y a une connexion. Pour ne simuler aucune connexion, revenez simplement false à cette fonction quelle que soit la connexion réelle.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.