Como sair de um aplicativo para iPhone bem?

ou "Como simular um evento de botão inicial pressionado?"

Preciso reiniciar meu aplicativo para iPhone e quero que o programa seja encerrado, para que o usuário só precise iniciá-lo.

Se eu simplesmente usarexit(0) algumas alterações não serão salvas, como aconteceria se o usuário sair pressionando o botão home.

O reinício necessário para a mudança de idioma.

Código relacionado:

- (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);
    // ***
}   

Se o usuário reiniciar usando o botão home, o idioma será alterado.

E se// *** é substituído porexit(0), a linguagem não vai mudar.

questionAnswers(3)

yourAnswerToTheQuestion