2011-11-04 13 views
7

Quiero cerrar mi aplicación cuando no haya una conexión a Internet disponible.Cerrar la aplicación cuando Internet no está disponible

Lo compruebo, pero ¿cómo puedo crear una alerta y luego cerrar mi aplicación?

+0

que suena un comportamiento inusual si considera que un teléfono es un dispositivo conectado de vez en cuando. –

+0

Noté aplicaciones que logran hacer esto (Words With Friends, por ejemplo). No me gusta, personalmente. –

+0

mi aplicación funciona con datos de un servidor web, si no hay conteción no funcionó, es por eso que quería este comportamiento. – DaSilva

Respuesta

19

No se debe obligar a cerrar una aplicación como la forma estándar para terminar una aplicación es presionar el botón de inicio (o utilice la barra de multitarea)

no dejar de fumar mediante programación


Nunca salga de una aplicación de iOS programáticamente porque las personas tienden a interpretar esto como un bloqueo. Sin embargo, si las circunstancias externas impiden que su aplicación funcione correctamente, debe informar a los usuarios de acerca de la situación y explicarles qué pueden hacer al respecto. Según la gravedad de la falla de la aplicación, tiene dos opciones .

Muestra una pantalla atractiva que describe el problema y sugiere una corrección de . Una pantalla proporciona comentarios que aseguran a los usuarios que no hay nada de malo en su aplicación. Se coloca a los usuarios en el control, dejar que ellos decidan si quieren tomar medidas correctivas y seguir utilizando la aplicación o pulse el botón Inicio y abra una aplicación diferente

Si tan sólo algunas de las características de su aplicación no están funcionando, muestra ya sea una pantalla o una alerta cuando las personas activan la función. Mostrar la alerta solo cuando las personas intentan acceder a la función que no es funcionando.

Source

+2

Esto es cierto. Si su aplicación no puede funcionar sin una conexión activa, debe mostrar una IU estática que lo explique al usuario. – tjarratt

6

su aplicación nunca debe cerrarse. iOS no tiene el concepto de abandonar una aplicación. Puede informar al usuario que no hay conectividad a Internet y presentar una pantalla de espera u otra cosa que demuestre que su aplicación es inútil hasta que la conexión a Internet esté disponible, pero su aplicación debería continuar ejecutándose hasta que el SO decida cerrarla.

5

De acuerdo con la American National Standard de August here

"On the iPhone there is no concept of quitting an app. The only action that should cause an app to quit is touching the Home button on the phone, and that's not something developers have access to. 

According to Apple, your app should not terminate on its own. Since the user did not hit the Home button, any return to the Home screen gives the user the impression that your app crashed. This is confusing, non-standard behavior and should be avoided." 


Pero si todavía quiere renunciar a su aplicación mediante programación a continuación hay dos comandos a salir de la aplicación.

1.exit(0) 

2.[[NSThread mainThread] exit] 
5

En lugar de cerrarla, consideran que explica la situación al usuario por medio de una ventana emergente.

Primero de todos, descargue Reachability from Apple.

Agregue las clases Reachability.h, .m, delega a su proyecto. Entonces en tu.m Clase de Accesibilidad importación

#import "Reachability.h" 

Y en viewWillAppear o cuando se debe mostrar la alerta:

//Connection check 
    Reachability *reach = [Reachability reachabilityForInternetConnection]; 
    NetworkStatus netStatus = [reach currentReachabilityStatus];  
    if (netStatus == NotReachable) 
    { 
     UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"No Internet Connection" message:@"Explain the situation to the user" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Ok", nil]; 
     [alert show]; 
     [alert release];  

    }  
    else { 
    //other actions. 
    } 

Como se ha dicho otros antes que yo.

Cuestiones relacionadas