iOSアプリケーションがバックグラウンドで実行されません。ホームボタンがヒットすると、アプリは終了します。以下はiOS:アプリケーションがクラッシュして「アプリケーションが適時に起動できませんでした」
私のコードは、アプリケーションが時間がないのリニューアルされている場合は、アプリの新しいインスタンスがエラーで殺されます
- (void)applicationDidEnterBackground:(UIApplication *)application
{
double sleepTime = [[UIApplication sharedApplication] backgroundTimeRemaining] - 1;
[self performTaskforTime:sleepTime];
}
です:
例外タイプ:00000020例外コード:0x8badf00dハイライトされた スレッド:0
アプリケーションの特定情報:My_Appが時間内に起動に失敗しました
私はスリープ時間を短縮できません。これにはどんな解決策がありますか?あなたはそれ以外のUIにサービスを提供することができなくなりますよう、実行時間の長いタスクをメインキューをブロックしたくない
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIBackgroundTaskIdentifier btid = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];
double sleepTime = [[UIApplication sharedApplication] backgroundTimeRemaining] - 1;
dispatch_async(/* background queue */, ^{
[self performTaskforTime:sleepTime];
[[UIApplication sharedApplication] endBackgroundTask:btid];
}
}
:
バックグラウンドで私のアプリのdoesntの実行が終了しますので、私は、これを試してみましたが、タスクは実行されませんされます。 – nanjunda
私の答えを更新しました。バックグラウンドで実行するには、-beginBackgroundTaskWithExpirationHandler:を呼び出す必要があります。 – hypercrypt