2013-02-19 12 views
27

私は、別のアプリ(App2)を起動した後、システムによってシャットダウンされたときに自分のアプリ(App1)が正しく動作することを確認しようとしています。この動作をシミュレートまたは強制する方法はありますか?アプリをバックグラウンドでシミュレーションする方法を教えてください。

App2が実行中にメモリ警告をシミュレートするようにシミュレータに指示すると、App1がフォアグラウンドに戻されるまで何も行われません。デバッガからApp1を強制終了すると、アプリイベントの同じシーケンスがシミュレートされますか?

EDIT:ファイルを処理するために2番目のアプリを起動すると、アプリがバックグラウンドに配置されます。この2番目のアプリケーションは、その後、私のアプリを再起動し、私は2番目のアプリケーションが実行中にシステムがシャットダウンしたときに私のアプリが正しく動作することを確認しようとしています。

答えて

9

はい、既にアプリがバックグラウンドにある場合。バックグラウンドでシステムが強制終了したアプリは、警告なしで終了します。アプリケーションデリゲートメソッドが呼び出されず、状態は変更されません。これは、アプリがバックグラウンドにある間にデバッガを停止したときとまったく同じです。 (これは、あなたが既にシミュレータまたはCmd-Shift-Hのホームボタンをクリックしてあなたのアプリをバックグラウンドに置いたことを前提とします)

@Inafzigerは、シミュレータ。実行中のアプリを強制終了するためのインタフェース)

+0

「ストップ」とは対照的にデバッガ「一時停止」を意味しますか?私はデバッガを "停止"する方法を見つけることができませんでした。私はバックグラウンドの場所のアプリケーションをデバッグしているので、システムの終了後に再起動するのを見たいので、本当に知りたいです。 –

+0

@JitendraKulkarni:私はストップを意味します。これは、Xcodeツールバーの左上にある「実行」ボタンの横にある大きなボタンです(「再生」ボタンのように見えます)。どのような状態であっても、プロセスを終了させるだけです。伝統的に、iOSアプリケーションがバックグラウンドを起こした場合、システムによって殺されます。 –

+0

見つかりました、ありがとう! –

6

次のことができるようにする必要があります

  • ホーム画面にあなたを取るためには、キーボードショートカットを使用する(2回ホームボタンをタップして、ホームボタンをタップしますシミュレータ内)
  • タッチそれは
  • はメモリから削除するダッシュ円-をタップ小刻みを開始するまでと

これはあなたなど、バックグラウンドに行くのアプリのデリゲートメソッドを提供します。これは、どのようにそれをある下部にあるアイコンを開催iOS 6以降で動作します。

+1

マイナーな訂正 - アイコンにはダッシュ(Xではなく)があります。アプリを削除するとXが表示されます。 – rmaddy

+0

真...ありがとう! – lnafziger

19

他の答えとして、アプリケーションを強制終了するか、デバッガを停止して、すぐにアプリケーションを終了することができます。そのような場合にはアプリに警告は表示されません。あなたはapplicationWillTerminateメソッドをテストするために探しているなら

は、あなたの.plistにYESUIApplicationExitsOnSuspendを設定し、アプリケーションを切り替えたり、ホームボタンを押してください。ストリング "YES"ではなく、キーをブール値に設定してください。

+0

これは非常に有用な答えです。ありがとう! –

関連する問題