Como verificar seu aplicativo ios para a disponibilidade da rede

Uma das maneiras mais fáceis de obter seu aplicativo rejeitado pela Apple é deixar de se certificar de que você tem uma conexão com a Internet quando o seu aplicativo precisa dele, e, portanto, deixar de notificar o usuário que a funcionalidade que requer a conexão estará indisponível (ou mesmo pior, têm a sua aplicação apenas pendurar lá).

Baixando a amostra Alcançabilidade

A Apple fornece um aplicativo de amostra chamado acessibilidade que mostra como determinar se você tem uma conexão com a Internet. Veja como usar o código a partir desse programa de exemplo valioso:

  1. Faça o download do amostra de acessibilidade da Apple clicando Código de exemplo.

  2. Digite acessibilidade no campo Pesquisar.

    Video: Descubra se Estão Roubando Sinal de sua rede WiFi

  3. Clique no projeto de acessibilidade nos resultados da pesquisa, e, na janela Biblioteca que aparece iOS Developer, clique no botão de download de código de amostra.

  4. Na pasta Downloads, clique duas vezes a pasta de acessibilidade para abri-lo.

    Você define o seu pasta Safari Downloads do Safari → Preferências usando a guia Geral.

  5. Abra a pasta de acessibilidade interna e arraste o Reachability.h e Reachability.m arquivos em seu projeto.

    Video: O MELHOR CANAL Wifi - Roteadores e Redes Sem Fio - Wireless

  6. Marque a caixa de seleção na frente do Road Trip no Adicionar a seção de Metas.

    Certifique-se de selecionar os itens de opção Copiar pasta do grupo de destino em (se já não estiver selecionado).

Para que você seja capaz de usar esse código, você precisa adicionar o Configuração do sistema estrutura. Para fazer isso, siga estes passos:

  1. No navegador de projeto, selecione o ícone do projeto (neste caso, roadtrip) na parte superior da área de conteúdo do navegador de projeto para exibir o editor do projeto.

  2. Nos alvos menu pop-up logo abaixo da barra de salto para o projeto, selecione RoadTrip.

  3. Na guia Fases construir, desloque-se para o link binário com seção de Bibliotecas.

    Video: Bloqueando Invasores na sua rede Wi Fi pelo Celular

  4. Expandir o link binário com seção Bibliotecas se ele não estiver expandido, clicando no triângulo.

  5. Clique no + (sinal de mais) botão abaixo a lista de quadros do projeto atual.

    Aparece uma lista de frameworks.

  6. Role para baixo e selecione SystemConfiguration.framework.



  7. Clique no botão Adicionar.

    Você verá o quadro adicionados aos quadros vinculados e seção de Bibliotecas.

  8. Feche os quadros vinculados e seção de Bibliotecas.

Adicionando o código para verificar acessibilidade

O local para verificar se você tem acesso à Internet está certo quando você iniciar. O método para fazer isso é o método de protocolo aplicativo delegado aplicação: didFinishLaunchingWithOptions:.

Você também precisa incluir o Reachability.h arquivo a ser capaz de usar acessibilidade, então adicionar o código em negrito na Listagem 8-1 para o início de ambos os AppDelegate.m arquivo eo aplicação: didFinishLaunchingWithOptions: método.

#importar "AppDelegate.h"#importar "Reachability.h"@implementation AppDelegate- (BOOL) aplicação: (UIApplication *) applicationdidFinishLaunchingWithOptions: (NSDictionary *) launchOptions {if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {UISplitViewController * splitViewController = (UISplitViewController *) self.window.rootViewController-UINavigationController * navigationController = [splitViewController.viewControllers LastObject] -splitViewController.delegate = (id) navigationController.topViewController-}NetworkStatus networkStatus = [[Alcançabilidade reachabilityForInternetConnection]  currentReachabilityStatus] - if (networkStatus == NotReachable) {UIAlertView * alerta = [[alloc UIAlertView] initWithTitle: @"Rede indisponível" mensagem:@"RoadTrip requer uma ligação à Internet" delegado: nil cancelButtonTitle: @"Está bem" otherButtonTitles: nil] -[Mostrar alerta] - }retorno do Sim}

Ignorar o código não em negrito para o momento.

Na seção principal em negrito, você começa criando um Acessibilidade objeto e, em seguida, enviá-lo a currentReachabilityStatus mensagem:

NetworkStatus networkStatus = [[acessibilidade reachabilityForInternetConnection] currentReachabilityStatus] -

reachabilityForInternetConnection é um inicializador que cria um Acessibilidade objeto que verifica a disponibilidade de uma conexão com a Internet. Acessibilidade tem um monte de funcionalidade, mas tudo o que você realmente se preocupam agora é se você pode acessar a Internet.

Em seguida, verifique se você tem acesso à rede:

if (networkStatus == NotReachable) {

Se você não tem acesso à rede, você postar um alerta:

UIAlertView * alerta = [[alloc UIAlertView] initWithTitle: @"Rede indisponível"mensagem:@"RoadTrip requer uma ligação à Internet"delegar: nilcancelButtonTitle: @"Está bem"otherButtonTitles: nil] - [mostrar alerta] -

Esta é a forma padrão de configurar e, em seguida, mostrar um alerta. De ter preenchido os vários parâmetros (auto-explicativo) exigidos pelo método de inicialização. Configurado dessa forma, o alerta vai ter um único botão.

o exposição mensagem para o alerta objeto faz com que o alerta seja exibido na janela, e quando o usuário toca em OK, o alerta é indeferido.

Se você tinha adicionado outros botões para dar ao usuário uma escolha de respostas, você teria que fazer o objeto postando o alerta (o AppDelegate, neste caso) uma UIAlertViewDelegate, atribuído o parâmetro delegado auto, e adicionou-se o título dos outros botões usando um nada lista encerrada. Você teria, então, necessário para implementar o alertView: clickedButtonAtIndex: método no delegado.

Ao examinar o código, você pode facilmente descobrir como obter qualquer outra informação de status da rede que você deseja.

Se você executar o aplicativo agora, e quer desligar a ligação à Internet no computador (se você estiver executando o Simulator) ou ative o modo avião ou desligar o Wi-Fi no dispositivo, você verá esta mensagem. (O que importa não é o comportamento no simulador, mas, mais tarde, o comportamento em um dispositivo.)


Publicações relacionadas