Pergunta

eu incorporei amostra de acessibilidade da Apple no meu próprio projeto, então eu sei ou não tenho uma conexão de rede - se eu não tiver uma conexão de rede, eu não me incomodo de enviar e solicitações. Eu decidi ir com a implementação de notificação de status porque parecia mais fácil ter o reachablity atualizado no fundo e ter os resultados atuais disponíveis imediatamente ao contrário dando início a uma solicitação síncrona sempre que eu quiser fazer uma conexão de rede.

O meu problema é que eu começar a receber falsos negativos quando em uma rede EDGE - o telefone tem conectividade, mas o app pensa que este não é o caso. O meu entendimento é que você não receber uma notificação quando uma conexão EDGE, por isso a minha suposição é que eu perdi e recuperou a conexão em algum ponto. Reiniciando o aplicativo é geralmente suficiente para ver a conexão de rede.

Esta não é uma solução ideal, então eu queria saber se mais alguém deparei com este problema e teve quaisquer pensamentos em um soluções.

(Não sei se isso se aplica a 3G, bem como, eu estou correndo um primeiro iPhone gen).

Foi útil?

Solução

notificataions Alcançabilidade não parece ser confiável para mim também, para a detecção de Wi-Fi. Então, eu só usar pesquisa em vez. Verificando a cada 5 segundos parece não fazer mal.

- (void) checkReachability {
    BOOL connected = ([[Reachability sharedReachability] localWiFiConnectionStatus] == ReachableViaWiFiNetwork);

    // Do something...

    [self performSelector:@selector(checkReachability) withObject:nil afterDelay:5.0];
}

Outras dicas

Há um bom exemplo de acessibilidade na rede. ele funciona maravilhosamente bem: http://servin.com/iphone/iPhone-Network-Status.html

Mas você vê, quando eu tento usá-lo meu próprio caminho, ele só bombas.

Tentou implementá-lo usando:

NSString *sCellNetwork;     
 NSString *sNetworkReachable;  

if (flags & kSCNetworkFlagsReachable || flags & kSCNetworkReachabilityFlagsIsWWAN)

{do it} 

 else {
   Network fail alert; 
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top