Domanda

Nel mio iPhone app, ho bisogno di rilevare la disponibilità di connessione a Internet.

Così sto riferimento a alcuni file dal progetto "raggiungibilità" di Apple.

link è il seguente:

http://developer.apple.com/library /ios/#samplecode/Reachability/Introduction/Intro.html

I creare un nuovo progetto e implementare il codice qui sotto in viewWillAppear ma l'applicazione si blocca.

Ho incluso il Reachability.h, Reachability.m dal progetto demo di Apple.

I comprendeva anche SystemConfiguration quadro.

applicazione funziona bene quando Internet è lavoro. Ma applicazione si blocca quando Internet in non funziona.

Anche ho controllato la console, ma non v'è alcuna notifica o errore mostrato nella console.

   Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];

NetworkStatus internetStatus = [r currentReachabilityStatus];
if ((internetStatus == ReachableViaWiFi) || (internetStatus == ReachableViaWWAN))
{
    UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"Internet Connection" message:@"Available" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [myAlert show];
    [myAlert release];
    }
else
{
    UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"No Internet Connection" message:@"This app require an internet connection via WiFi or cellular network to work." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [myAlert show];
    [myAlert release];
    }

Quale potrebbe essere il motivo per il crollo?

Che cosa devo fare?

Grazie !!

È stato utile?

Soluzione 2

Qui potrebbe essere il caso che il codice non funziona sul simulatore a causa del tempo fuori. Ma provate in esecuzione sul dispositivo. Anche provare il debug del codice come @ Greg giustamente detto. Per che il credito dovrebbe andare a @ Greg. Spero che sia di aiuto. Fatemi sapere se funziona.

Altri suggerimenti

Si sta over-rilasciando gli avvisi. In primo luogo, si fa autorelease e poi in aggiunta release, che è troppo. Basta togliere le due [myAlert release]; e dovrebbe funzionare.

Il tuo problema è altrove nel codice, in quanto il codice che hai fornito insieme con la copia di raggiungibilità. [MH] in un progetto Xcode fresco sembra funzionare senza schiantarsi. Quando il vostro applicazione si blocca, è deve avere una sorta di informazioni registrate nella console. Se veramente non c'è nulla, impostare un punto di interruzione nei vostri metodi "avvio" (viewWillLoad, viewDidLoad, roba AppDelegate e passo attraverso la linea per linea fino a quando si cattura il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top