applicazione per iPhone si blocca mentre la connettività controllo Internet
-
28-09-2019 - |
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 !!
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.