Não tenho certeza se isso é possível, mas tenho esse cenário.
Eu tenho um site exibido no meu UIWebView que tem o link definido em um UISegmentedController. O site deles pode detectar se você está em wi-fi ou na rede 3G.
Agora, o controlador segmentado aponta para 2 páginas diferentes: 1 - Uma tela de login amigável para iPhone 2 - A página inicial, uma vez que você esteja logado.
Agora, aqui está a questão:
Posso programar meu aplicativo para detectar se é para WIFI ou 3G (sei que você pode fazer isso), mas com base na resposta, vá para o segmento 1 ou 2
Mais ou menos assim:
if (iPhone device is on 3g) {
Go to Segment 1;
} else {
Go to Segment 0;
}
ios
objective-c
wifi
reachability
3g
jwknz
fonte
fonte
Respostas:
Usando o código que a Apple forneceu aqui
fonte
[reachability stopNotifier]
depois de ter o status?reachability
sairia do escopo e seria desalocado no final do método estopNotifier
seria chamado implicitamente.ReachableViaWifiNetwork
Se você não deseja importar a biblioteca de acessibilidade ou lidar com notificadores, pode usar este método síncrono simples:
fonte
Importe a acessibilidade da Apple e experimente isso,
Referências (links podem quebrar no futuro):
Qual é a diferença entre CDMA e WCDMA network sim
O que é "EV-DO Rev. A"?
fonte
Eu fiz um invólucro de Reachability baseado em bloco bastante simples que remove todo o código de Reachability semelhante a C desatualizado, colocado em uma forma muito mais Cocoa.
Uso como:
Consulte Acessibilidade com blocos para uso diário no blog eppz! Ou pegue-o diretamente de acessibilidade do eppz! No GitHub .
Ele também funciona com endereços IP , o que se revelou um recurso de invólucro de Alcance muito raro.
fonte
Ao usar o iOS 12 ou mais recente, você pode usar em
NWPathMonitor
vez daReachability
classe pré-histórica :fonte
Reachability.reachabilityWithHostName
?Para o rápido, podemos usar:
fonte
O método da classe é o seguinte
fonte
Para verificar se você está em um wi-fi, isso evita o custo de fazer uma conexão. Verifique se há ifa_name "ponte" para verificar se há compartilhamento de Internet.
fonte
Se estiver usando o Xamarin ou Monotouch, você pode usar a classe adaptada Reachability do repositório GitHub do Xamarin:
https://github.com/xamarin/monotouch-samples/blob/master/ReachabilitySample/reachability.cs
Portanto, adicione-o ao seu projeto e chame
Reachability.InternetConnectionStatus()
fonte
Aqui está uma versão atualizada para iOS 6 com SimplePing da apple também incluído. É compatível com ARC e comecei com a correção de outra pessoa para Reachability. http://elbsolutions.com/projects/reachability-with-simpleping-wrapper/
Espero que isso ajude alguém.
fonte
Use este, construído com Acessibilidade e fácil de usar, apenas algumas linhas de código para integrar. Tem uma função de retorno de chamada para avisar quando a conexão mudou http://huytd.github.io/datatify/
fonte