2013-01-15 9 views
12

Powiel możliwe:
Exit application in iOS 4.0aplikacja wyjście gdy kliknięcie przycisku - iOS

Mam AlertView który wyświetla tekst i przycisk "OK".

jeśli użytkownik nacisnął przycisk ok, a następnie aplikacja musi wyjść.

Czy istnieje sposób na zamknięcie aplikacji po kliknięciu przycisku.

+1

Nigdy nie należy kończyć aplikacji, ponieważ jabłko odrzuci wniosek. –

+0

@MidhunMP nie kody mają 'preconditionFailure's? Czy nie powodują one awarii programów i aplikacji _released_? Czy to nie język, który Apple umieścił? Dlaczego jabłko powinno odrzucić twoją aplikację? Chociaż wydaje mi się, że kliknięcie przycisku "OK", jabłko może cię odrzucić. Ale jeśli zdarzy się to po awarii ładowania bazy danych/uszkodzenia Filemanagr, może to mieć sens ... – Honey

+0

@Honey Co będzie perspektywą użytkownika, gdy zamkniesz aplikację, jeśli masz uszkodzoną bazę danych? Otworzą aplikację i natychmiast się zamkną (użytkownik pomyśli, że to awaria i jest to aplikacja bezużyteczna). Możesz też ostrzec użytkownika, aby ponownie zainstalował aplikację lub możesz ponownie utworzyć bazę danych (Jaki jest sens zamknięcia aplikacji?) –

Odpowiedz

50

exit(X), gdzie X jest liczbą (zgodnie z dokumentem) powinno działać. Ale nie jest to zalecane przez firmę Apple i nie zostanie zaakceptowane przez AppStore. Dlaczego? Z powodu tych wytycznych (jedna z moich aplikacji została odrzucona):

Wykryliśmy, że Twoja aplikacja zawiera kontrolkę interfejsu użytkownika, umożliwiającą zamknięcie aplikacji. Jest to niezgodne z wytycznymi interfejsu użytkownika systemu iOS, wymaganymi w wytycznych App Store dotyczących recenzji.

Proszę odnieść się do załączonego zrzutu ekranu/s w celach informacyjnych.

iOS Wytyczne Human Interface określić,

„być zawsze przygotowanym do zatrzymania aplikacji iOS zatrzymać kiedy ludzie naciśnij przycisk Home, aby otworzyć inną aplikację lub użyć urządzenia funkcji, takich jak telefon. W szczególności ludzie nie dotknij przycisk zamykania aplikacji lub wybierz Zakończ z menu Aby zapewnić dobre zatrzymania doświadczenie, aplikacja iOS powinien:.

Zapisz dane użytkownika jak najszybciej i jak najczęściej w rozsądnej ponieważ możliwe jest zakończenie lub zakończenie powiadomienia kiedykolwiek.

Zapisz bieżący stan po zatrzymaniu, na najwyższym poziomie szczegółowości możliwe, aby użytkownicy nie utracili kontekstu po ponownym uruchomieniu aplikacji . Na przykład, jeśli aplikacja wyświetla przewijanie danych zapisać aktualną pozycję przewijania.”

> Byłoby wskazane, aby usunąć wszelkie mechanizmy rzucić swoją aplikację .

Plus, jeśli starają się ukryć tę funkcję, to będzie rozumiane przez użytkownika jako zderzenia.

+0

Jaka jest to logika? Jeśli użytkownik nie chce się logować w mojej aplikacji, powinien pokornie poprosić go: "Jeśli nie chcesz iść dalej, naciśnij przycisk strony głównej, aby zatrzymać tę aplikację". – Adnan

+3

Nie. Weź przykład w aplikacji FaceBook lub na Instagramie. Jeśli nie zalogują się, nie pójdą dalej (jeśli nie masz publicznych treści). – Larme

24

Można użyć metody exit, aby zamknąć aplikację na iOS:

exit(0); 

Należy powiedzieć wiadomość samo powiadomienie i poprosić go, aby rzucić

Innym sposobem jest użycie [[NSThread mainThread] exit]

jakkolwiek nie powinno tak być

Według Apple Twoja aplikacja nie powinna się z niego kończyć s własne. Ponieważ użytkownik nie kliknął przycisku Strona główna, powrót do ekranu głównego daje użytkownikowi wrażenie, że aplikacja się zawiesiła. Jest to mylące, niestandardowe zachowanie i należy go unikać.

+0

Nie powinieneś sam opuszczać aplikacji na iOS. – trojanfoe

+0

Proszę zobaczyć moją aktualizację. –

+0

Tak wyświetla się komunikat podobny do aktualizacji i naciśnij przycisk OK, aby zakończyć. –