2013-01-15 9 views
12

Eventuali duplicati:
Exit application in iOS 4.0applicazione uscita quando il pulsante di scatto - iOS

Ho un AlertView che visualizza un testo e un pulsante "OK".

se l'utente preme il pulsante ok, è necessario uscire dall'app.

C'è un modo per uscire dall'applicazione quando si fa clic sul pulsante.

+1

Non uscire mai dall'applicazione, altrimenti Apple rifiuterà l'applicazione. –

+0

@MidhunMP i codici non hanno 'preconditionFailure's? Non schiantano schemi/app? Non è una lingua che Apple si è posta? Quindi, perché Apple rifiuterebbe la tua app? Anche se immagino di aver fatto clic su un pulsante "OK", Apple può ragionevolmente rifiutarti. Ma se ciò dovesse accadere in caso di fallimento del caricamento del database/danneggiamento di Filemanagr, allora potrebbe avere senso ... – Honey

+0

@Honey Quale sarà la prospettiva dell'utente quando chiudi l'app se hai un database danneggiato? Apriranno l'app e si chiuderanno immediatamente (l'utente penserà che si tratta di un arresto anomalo ed è un'app inutilizzabile). In alternativa puoi avvisare l'utente di reinstallare l'app o puoi ricreare il tuo database (qual è il punto lì per chiudere l'app?) –

risposta

50

exit(X), dove X è un numero (secondo il documento) dovrebbe funzionare. Ma non è raccomandato da Apple e non sarà accettato dall'AppStore. Perché? A causa di queste linee guida (una delle mie app è stata respinta):

Abbiamo riscontrato che l'app include un controllo dell'interfaccia utente per uscire dall'app. Questo non è conforme alle linee guida per l'interfaccia umana iOS, come richiesto dalle Linee guida per la revisione dell'App Store.

Fare riferimento alle schermate allegate per riferimento.

I Human Interface Guidelines iOS specificare,

"Siate sempre pronti a smettere di applicazioni iOS si fermano quando la gente preme il tasto Home per aprire un'altra applicazione o di utilizzare una funzione del dispositivo , come ad esempio il telefono. In particolare, , la gente non toccare un pulsante di chiusura applicazione o selezionare Esci da un menu Per fornire una buona arresto esperienza, un'applicazione iOS dovrebbe:.

Salva i dati degli utenti nel più breve tempo possibile e tutte le volte che ragionevole, perché un può uscire o terminare la notifica può arrivare in ogni momento.

Salvare lo stato corrente all'arresto, con il livello di dettaglio minimo possibile in modo che le persone non perdano il proprio contesto quando avviano nuovamente l'applicazione . Ad esempio, se i display app scorrimento dei dati, salvare la posizione di scorrimento corrente."

> Sarebbe opportuno eliminare eventuali meccanismi di smettere il vostro app.

Inoltre, se si tenta di nascondere tale funzione, l'utente verrà interpretato come un arresto anomalo.

+0

Qual è la logica per questo? Se un utente non desidera effettuare il login nella mia domanda, dovrei umilmente chiederglielo come "Se non vuoi andare oltre, premi il tasto home per interrompere questa applicazione". – Adnan

+3

No. Prendi l'esempio sull'app FaceBook o su Instagram. Se non effettuano l'accesso, non andranno oltre (se non si dispone di contenuto pubblico). – Larme

24

È possibile utilizzare il metodo exit per chiudere un app iOS:

exit(0); 

Si dovrebbe dire che il messaggio stesso avviso e chiedergli di smettere

Un altro modo è quello di utilizzare [[NSThread mainThread] exit]

Tuttavia si non dovrebbe fare in questo modo

Secondo Apple, l'app non deve terminare su di esso proprio Poiché l'utente non ha premuto il pulsante Home, qualsiasi ritorno alla schermata Home dà all'utente l'impressione che la tua app si sia bloccata. Questo è un comportamento confuso e non standard e dovrebbe essere evitato.

+0

Non dovresti uscire da un'app per iOS. – trojanfoe

+0

Si prega di vedere il mio aggiornamento .. –

+0

Sì sto mostrando un messaggio come si prega di aggiornare e premere ok per uscire. –