ユーザーが実際にバックグラウンドに移動したときに黒い画面を表示する必要があります。(applicationWillResignActive ではありません)。
その結果、applicationDidEnterBackground でルート ビュー コントローラーを次のように変更しています。
//Before this, there will be Sync web-service call...normally, it is fast..time out is 2 second
dispatch_async(dispatch_get_main_queue(), ^{
UIViewController *vc = [[UIViewController alloc] init];
[vc.view setBackgroundColor:[UIColor blackColor]];
[AppDelegate instance].window.rootViewController = vc;
});
問題は、それが機能していないことです。時間が足りないからだと思いました。なので、バックグラウンドタイムの延長について勉強していますが、まだ大丈夫ではありません。ユーザーが完全にバックグラウンドに入ったときに黒い画面が表示されるようにするにはどうすればよいですか (ユーザーがアプリをアプリに切り替えると、アプリが黒い画面として表示されます)。