2011-11-09 5 views
-1

をiphoneでアプリケーションを終了します:
how to quit (exit) an app in iPhone4 sdk可能な重複したコードによって

私はアプリの最初のビューでの閉じるボタンを持っています。ボタンをクリックするとアプリケーションが正常に終了する必要があります。私は2つのケースを試しましたが、うまくいかなかったのです。

  1. [[UIApplication sharedApplication] terminate];
  2. [[UIApplication sharedApplication] exit(0)];
+0

他の人がリンク先の質問に述べたように、これを行わないでください。アップルの設計ガイドラインに違反しており、審査プロセスでアプリケーションが却下される可能性が最も高いです。それは非常に良いユーザーエクスペリエンスでもありません。 –

答えて

0

ちょうどexit(0);

のUIApplicationのインスタンスを呼び出すする必要はありませんを呼び出します。しかし、exitメソッドを呼び出す前に、ステートを保存するなどの必要な処理を行います。

0

私はiPhoneアプリが閉じられてはならない、HIGに非常にわからしかし、ACCはないです。

あなたはにすることができますあなたのアプリケーションのplist.Whenに別のアプリケーションに切り替えると、iOS4の下に背景に入っていないアプリケーションに切り替えるとUIApplicationExitsOnSuspendを設定します。 :)

2

iOSアプリは単独で終了するはずではありません。ユーザーはデバイスのボタンを使用してアプリケーションを終了/中断します。詳細については、iOSヒューマンインタフェースガイドラインのDon't Quit Programmaticallyをお読みください。

あなたのアプリは、それが意図していたタスクを終了し、通常終了する場合は、アプリの状態を、アプリ起動時の状態にリセットすることができます。ユーザーが何が起こっているのかを理解できるように、おそらくUIにいくつかのキューを含める必要があります。ユーザーがここで担当していることを覚えておいてください。しかし、アプリが論理的な結論に達した場合、ユーザーにとって最も「正しい」と感じることは、初期の状態に戻ることになります。これはゲームでよく見られます。ゲームが終了すると、アプリはイントロ画面に戻り、ユーザーが別のゲームを開始するのを待ちます。

投稿した両方のスニペットが間違っていることに注意してください。 UIApplicationには-terminateメソッドがありません。 (NSApplicationは-terminate:メソッドを持っていますが、パラメータを受け取り、明らかにiOSでは利用できません)。2番目の例では、関数呼び出し構文とメッセージ送信構文をミックスして、意味をなさない方法で記述します。コンパイルすることさえできます。

1

類似したこと私はShowアラート後に私のアプリケーションを終了したいと思っています。助けてください...

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

NSLog(@"%@",alertView.title); 
if(alertView.title== @"Collision failed") 
{ 
    if(buttonIndex==0) 
    { 
    //gameState = kGameStateRunning; 
    [self loadView]; 
    [self viewDidLoad]; 
     count=0; 
    } 
    else 
    { 
     exit(0); 
    } 
} 
else 
{ 
    if(buttonIndex==0) 
    { 
     //gameState = kGameStateRunning; 
     [self loadView]; 
     [self viewDidLoad]; 
    } 
    else 
    { 
     second_stage *obj=[[second_stage alloc]initWithNibName:@"second_stage" bundle:nil]; 
     obj.count2=count; 
     [self presentModalViewController:obj animated:YES]; 
    } 
} 

私は単にexit(0)を書いています。

+0

ありがとう、それは働いた.. –