4

プログラムでアプリケーションを終了したいのですが、ググってみたところ、exit(1) の使用を提案している人もいますが、Apple はそれをサポートしていないと思います。その場合、プログラムでアプリケーションを終了するにはどうすればよいですか。どんな助けでも大歓迎です。

4

4 に答える 4

15

exit(0);動作しますが、使用しないでください

アプリケーションを終了する標準的な方法はホームボタンを押すことです(またはマルチタスクバーを使用することです)ので、アプリを強制的に閉じるべきではありません

プログラムで終了しないでください


人々はこれをクラッシュと解釈する傾向があるため、iOSアプリケーションをプログラムで終了しないでください。ただし、外部の状況によってアプリケーションが意図したとおりに機能しない場合は、その状況についてユーザーに通知し、ユーザーがそれに対して何ができるかを説明する必要があります。アプリケーションの誤動作の程度に応じて、2つの選択肢があります。

問題を説明し、修正を提案する魅力的な画面を表示します。画面には、アプリケーションに問題がないことをユーザーに安心させるフィードバックが表示されます。これにより、ユーザーは管理下に置かれ、ユーザーが修正措置を講じてアプリケーションを引き続き使用するか、ホームボタンを押して別のアプリケーションを開くかを決定できます。

アプリケーションの機能の一部だけが機能していない場合は、ユーザーが機能をアクティブにしたときに画面またはアラートを表示します。機能していない機能にユーザーがアクセスしようとした場合にのみアラートを表示します。

ソース

于 2012-08-30T11:07:35.163 に答える
2

私はあなたがコメントを適切に読んでいないと信じているので、あなたの質問に対する答えをここに投稿します。

ここを見てください。ローカル通知を処理した後、iOS アプリを正常に終了するにはどうすればよいですか。ここでは、iOS 4.0でアプリケーションを終了します。

于 2012-08-30T11:08:59.173 に答える
2

iOS4 のリリース後、マルチタスク (新機能) が APPLE によって追加されました。この機能により、ユーザーは他のアクティビティ (電話の応答など) を行う必要がある場合に、バックグラウンドでアプリを一時停止状態に保つことができました。そのため、Apple は、ユーザーがアプリケーションをバックグラウンドから削除するまで、アプリをバックグラウンドで維持する必要があると考えています。この後、 use を終了したい場合exit(0);、これを使用すると、さらに AppStore からの拒否につながります

于 2012-08-30T11:13:08.407 に答える
-3

exitこれは、アプリで機能を達成するための間違った方法です。これはあなたの質問を読んだときに頭に浮かびますが、どこにも当てはまらないので、これを実装する場合は注意してください!

- (void) exitApp
{
      NSArray *array = [[[NSArray alloc] init] autorelease];
      NSLog(@"%@",[array objectAtIndex:10]); //will crash here, looks like exit.
}

PSこのコードを、のような終了確認UIAlertViewを求める中に入れることができます。ボタンを押すと、ユーザーがアプリを終了すると思うように呼び出すことができます。Do you really want to exit?YES[self exitApp];

于 2012-08-30T11:13:10.623 に答える