2011-12-26 19 views
4

iOS SDK 5.0を使用してXcode 4.2にアプリケーションを作成しました。アプリケーションはまだバックグラウンドで動作しています。Xcode 4.2 iOS 5

私はinfo.plistのUIApplicationexitonsuspendをYESに設定しましたが、ホームボタンを2回押しても、アプリケーションはマルチタスクバーに残ります。

iPhone 4からアプリを削除してXcodeからもう一度再送信しましたが、一時停止中の終了は機能しません。アプリケーションはマルチタスクタブにまだ残っています。

+1

同じキーです。 'applicationWillTerminate:'が呼び出されていますか? –

+1

@FrederickCheungはいapplicationWillTerminate:が呼び出されました。もしあなたがまた、私がセルジオによって与えられた答えの下で投稿したコメントに対する答えを与えることができれば、それは大きな助けになるでしょう。ありがとう! – at0m87

答えて

4

あなたのアプリアイコンが「マルチタスクタブ」に表示されているということは、あなたのアプリがまだそこにあるという意味ではありません。

「マルチタスクタブ」には、実行したすべてのアプリケーションの一覧が表示されます。

あなたがそれをタッチするとアプリが新たに立ち上げているかどうかを評価するための簡単な方法は、次の手順実行している:

  1. 打ち上げにアプリを。

  2. ホームボタンを押して閉じます。

  3. アプリを再起動し、起動時に表示される画像を確認します。この画像が「Default.png」画像であれば、そのアプリは新たに起動しました。あなたが放置した状態であなたのアプリが見つかった場合、そのアプリは単に再びアクティブにされただけです(つまり、バックグラウンドにあった)。アプリを起動したときに何が起こるかを見るために

より高度な方法は、アプリのデリゲートメソッドでNSLogトレースを入れている:

- (void)applicationDidEnterBackground:(UIApplication *)application { 
} 


- (void)applicationWillEnterForeground:(UIApplication *)application { 
} 

あなたがプリントアウトしたトレースが表示された場合は、それは意味しますアプリが中断して終了していないことを確認してください。

逆に、あなたがトレースを置くことができます:あなたがホームボタンを押したときに、その後、アプリがバックグラウンド状態に入らないで呼び出された場合

- (void)applicationWillTerminate:(UIApplication *)application { 
} 

、むしろそれが終了します。

+0

さて、指摘されているポイント!私はそれを試して、それはあなたが言ったとおりです!それを私に指摘してくれてありがとう。しかし、私はなぜアプリが、あなたはそれが終了し、もはや実行されていない、まだマルチタッチのタブに残っているアプリがまだバックグラウンドで実行されているように偽って困惑している?論理的に言えば、マルチタスキングタブバーにいるということは、まだバックグラウンドで実行されていることを意味します。論理的にはそれがまだそこにあるのを見るのは意味をなさないが、デバッガからはもはや実行中ではないことが分かっている。 – at0m87

+0

私はあなたの意見を見ます。私は、これは単にAppleが、すべてのアプリがマルチタスク対応であるという気持ちをユーザーに伝えようとしていると思う。すべてのアカウントはエンドユーザーにとって理解しやすいものです。しかし、これは私の推測です... – sergio

+0

ありがとうございました。プログラマーがマルチタスキングバーからアプリケーションを消滅させる方法は絶対にないと言っているのですが、これはAppleの方法なのですか?申し訳ありませんが、私は質問が少しバギーのように見えますが、私は非常に好奇心が強い人です=) – at0m87

0

アプリがバックグラウンドモードで実行されないようにする場合は、 - アプリケーションinfo.plistを開き、別の属性を追加します。 - 「アプリケーションはバックグラウンドモードでは実行されません。」 - この属性に対してチェックボックスがオンになっていることを確認します。今度は、あなたのアプリをもう一度保存し、再構築して実行してください。これを行うと、アプリはバックグラウンドモードでは実行されません。

+0

あなたの答えもありがとう=) – at0m87

0

「アプリケーションがバックグラウンドモードで実行されない」と「UIApplicationexitonsuspend」は、アプリケーションがバーにあるからといって、それはまだ実行しているという意味ではありません

関連する問題