2012年4月13日金曜日

exit()使うべからず


How do I programmatically quit my iOS application?

iOSのアプリケーションを明示的に終了させるAPIはありません。

exit(0)を使う例が見つかりますが、クラッシュした状況と同じ状況となるため、使用すべきではないと勧告されています。これを守らいないと、やたらとクラッシュするということで、AppStore承認が得られなくなることもあるようです。

アプリ終了はiOSのコントールに委ね、アプリ側ではUIAppilicationデリゲートメソッドで然るべき対処を行う、というのが適切な実装というこのになります。

//ホームボタンが押されたときにトップページに戻しておく方法
- (void)applicationWillResignActive:(UIApplication *)application
{
    UIViewController *navCtr = [_window rootViewController];
    if ([navCtr isKindOfClass:[UINavigationController class]]) {
        [(UINavigationController *)navCtr popToRootViewControllerAnimated:NO];
    }
}

0 件のコメント: