メインスレッドでいくつかのタスクを実行する単純なアプリケーションを作成しています。プロセスを印刷してNSLog
いるので、プロセスが実行されているかどうかを理解できます。
プロセスを開始せずにホームボタンを押すと(ボタンをタップするとプロセスが開始されます)、アプリケーションがバックグラウンドに入り、両方のメソッドが呼び出されますapplicationDidEnterBackground
。applicationWillResignActive
しかし、最初にボタンをタップすると、メインスレッドでプロセスが開始され、その後ホームボタンを押すと、これら2つのメソッドのいずれも呼び出されません。したがって、私のアプリケーションは、そのアプリがバックグラウンドで入力されたかどうかを知ることができません。
その後もアプリを再度アクティブにすると、ステータスバーのみの黒い画面が表示されます。
- なぜこれが起こっているのですか?
- アプリがバックグラウンドに入らないのはなぜですか?
- アップルのメソッドが呼び出されないのはなぜですか?
- それを解決する方法はありますか?
UPDATE これが私のappdelegateクラスコードです
- (void)applicationWillResignActive:(UIApplication *)application
{
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
}
すべてのメソッドには実装がありません。
前もって感謝します。