Jak ładnie zamknąć aplikację na iPhone'a?
lub „Jak symulować zdarzenie naciśnięcia przycisku domowego?”
Muszę zrestartować aplikację na iPhone'a i chcę, aby program zakończył działanie, więc użytkownik będzie musiał go tylko uruchomić.
Jeśli po prostu używamexit(0)
niektóre zmiany nie zostaną zapisane, tak jak gdyby użytkownik zakończył działanie, naciskając przycisk home.
Ponowne uruchomienie potrzebne do zmiany języka.
Powiązany kod:
- (void)onChangeLanguage: (id)sender {
NSArray *lang = [NSArray arrayWithObjects:((Whatever *)sender).newLanguage, nil];
[[NSUserDefaults standardUserDefaults] setObject:lang forKey:@"AppleLanguages"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
NSLog(@"Current language: %@", currentLanguage);
// ***
}
Jeśli użytkownik uruchomi się ponownie za pomocą przycisku głównego, język się zmieni.
Jeśli// ***
zastępuje sięexit(0)
, język się nie zmieni.