Pergunta sobre objective-c, cocoa-touch, iphone – Teste de conectividade do iPhone: Como faço para forçar a perda de conexão?

14

A Apple quer que eu dê ao usuário uma desculpa amigável se eu não conseguir encontrar uma conexão com a internet. Usando o Demo de Acessibilidade, isso foi bastante fácil. Eu quero dar um passo adiante e monitorar uma perda de conexão. A demonstração tem essa funcionalidade, mas não consigo descobrir como desligar minha conexão para testar se ela funciona.

Como eu iria simular uma perda de (ou realmente perder) uma conexão?

Sua resposta

7   a resposta
2

SpeedLimit.prefPane ele não pode perder a conexão, mas você pode diminuir o ritmo com base no host e na porta que está tentando alcançar.

18

basta desconectar seu computador da Internet. Se o seu computador não tiver acesso à rede, o iPhone Simulator também não.

Para testar no dispositivo, você pode fazer o seguinte:

Primeiro, configure um roteador WiFi que você possa usar para testes.

Você pode ativar o modo Avião no telefone e ativar o WiFi novamente. Isso impedirá que a conexão 3G forneça acesso a dados.

Inicie seu aplicativo. Agora você pode simplesmente desconectar seu roteador WiFi para simular uma perda de conectividade.

ou tente uma gaiola de faraday?en.wikipedia.org/wiki/Faraday_cage russau
Eu normalmente uso um chapéu de lata, então a gaiola é uma progressão natural. heh Obrigado Joey, eu queria testar no dispositivo. Felicidades. Joel Hooks
Você pode colocar seu telefone no micro-ondas para simular uma perda de conexão na vida real ... Lembre-se de não ligar o microondas! Sam
4

Charles Web Proxy Você pode inspecionar todas as solicitações HTTP / S que seu aplicativo envia e as respostas recebidas, acelere a conexão para simular qualquer velocidade de rede. Crie um perfil de aceleração personalizado chamado "Desconectado" com Largura de Banda = 0, para simular desconexões de rede.

A largura de banda 0 não é uma desconexão no que se refere à acessibilidade. Se você usá-lo como um proxy para o seu dispositivo, o dispositivo ainda achará que ele tem uma boa conexão com a rede Wi-Fi, portanto, a acessibilidade não retornará a falha. 0 largura de banda ainda é uma ferramenta útil para testar barracas de rede. CornPuff
0

ou seja, simulando uma conexão de rede wi-fi com perdas em um dispositivo real, descobri como fazê-lo :) Conectei meu MacBook Pro em ethernet e compartilhei minha conexão Wi-Fi ao dispositivo. Usando o pré-processador do condicionador de rede Link da Apple, em seguida, deixe-me jogar com a qualidade da conexão. Muito útil para simular 3G, Edge e outras taxas de transmissão.

Próxima etapa: encontre e compre um adaptador usb wifi trabalhando no MAC OS X para permitir que todos nós (equipe de desenvolvedores) testem sem conectar cada computador à ethernet.

Espero que isso ajude alguns de vocês.

13

Painel de preferências do SpeedLimit para simular latência de rede no simulador. E aqui está umversão da linha de comando construído em cima doipfw comando.

A vantagem sobre apenas puxar o cabo ou matar WiFi é que você pode especificar a velocidade ao acionar hosts específicos para que ele possa ser usado para testes sem matar seus serviços de rede regulares.

Obrigado, a coisa do SpeedLimit é super útil. Tom Redman
4

Pequeno pomo. É uma aplicação muito útil para escrever regras sobre o que pode se comunicar com o mundo exterior e por quanto tempo.

Ele também irá notificá-lo se um aplicativo deseja acessar a Internet na mosca e você pode restringir temporariamente o acesso para qualquer momento, essa sessão ou para sempre.

Quanto ao teste no dispositivo, faço login no meu roteador sem fio e desabilito temporariamente a rede ou ative a restrição por MAC ID durante a duração do teste.

12

Em Yosemite:

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

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

Em versões mais antigas do OSX:

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

Bom, mesmo se você criar um perfil com valores 0, ele não simula a situação "sem conexão" ... gemini
Nota: A partir do Xcode 4.3 (ou 4.2?), Estes devem ser instalados separadamente no site da Apple: no Xcode, vá para "Xcode / Open Developer Tools / More Developer Tools ...". Isso levará você para a seção de download. O condicionador de link pode ser encontrado em "Hardware IO Tools for Xcode". Stefan

Perguntas relacionadas