Simule o modo avião no iPhone Simulator

127

Existe alguma maneira de simular o modo avião no iPhone Simulator?

Jason Jenkins
fonte

Respostas:

114

Desligue sua conexão de rede no Mac.

Rob Napier
fonte
14
tão óbvio que me chutei. mas, ao mesmo tempo, certamente eles poderiam ter feito uma solução melhor!
21139 benlumley
37
É mais difícil do que parece, embora nossa equipe tenha solicitado funcionalidades semelhantes à Apple. O problema é que os aplicativos em execução no simulador são realmente aplicativos para Mac. O iPhone Simulator não emula o iPhone; é apenas um ambiente para os aplicativos Mac vincularem e parecerem um iPhone. Então, você precisa de uma maneira, na camada do sistema, de impedir que um aplicativo fale com a rede. O Unix não fornece isso; quase certamente precisaria de suporte do kernel para obtê-lo. Você poderia fazer isso mais facilmente para NSURLConnection e seus parentes, mas poderia ser mais confuso se algumas chamadas funcionarem e outras não.
9139 Rob Napier
13
Isso não simula o modo avião ... como o simulador de GPS ainda funciona, mas não retorna um valor.
Jann
18
Apenas desligar sua conexão de rede não é tão útil em algumas circunstâncias. Por exemplo, ao testar a acessibilidade e a disponibilidade da Internet - às vezes você realmente precisa do modo avião. O simulador sem uma conexão de rede funcionando não é o mesmo. Além disso, alguns locais de trabalho possuem computadores com problemas reais de autenticação, o que significa matar a conexão de rede nem sempre é uma opção (pois tudo dá errado).
Occulus
9
Eu concordo com o ocuulus. Ao trabalhar no escritório, desligar a rede de toda a máquina é prejudicial à comunicação no ambiente de trabalho. Existem muitas situações em que essa não é uma solução aceitável.
Krejko
59

Você pode instalar o condicionador de link de rede da Apple

Em Yosemite:

O condicionador de link de rede pode ser encontrado no pacote "Hardware IO Tools for Xcode". Isso pode ser baixado na página de downloads do desenvolvedor da Apple . Quando o download terminar, abra o DMG e clique duas vezes em "Network Link Condition.prefPane" para instalar ( fonte ).

Com este painel de preferências, você pode criar um perfil com velocidade de 0kbps.

Condicionador de Link de Rede

Nas versões mais antigas do OSX:

Leão da Montanha / Mavericks: Xcode > Open Developer Tool > More Developer Tools
Lion:/Developer/Applications/Utilities/Network Link Conditioner

Me amarre
fonte
11
A acessibilidade não vê nenhuma alteração ao usar o Condicionador de Link de Rede. De fato, quando eu o defino como 0kbps e 100% de perda de pacotes, ele ainda informa tudo como acessível e acessível através de wifi. Isso não funciona para tentar testar o modo avião.
E. Freitas
1
tem certeza de que mudou o botão grande à esquerda para "ON"?
Tieme
Mesmo problema aqui, o Link Conditioner para 0kbps para cima / baixo e 100% de perda de pacotes para cima / baixo não ajuda. O iOS Simulator expira após um tempo. 0kbps é assumido como largura de banda MAX.
Design por Adrian
17

Você também pode usar o Little Snitch para temperar. bloquear a conexão com a internet para este aplicativo.

Roded Konforty
fonte
então isso significa que você pode editar arquivos de hosts para obter o mesmo, obrigado pelo amigo da ideia.
12139 panchicore
-1

Corte mais fácil: faça uma função verificando a conexão

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

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

Busque seus dados apenas se houver conexão. Para simular nenhuma conexão, basta retornar false a esta função seja qual for a conexão real.

arnaudambro
fonte