アプリに復号化と暗号化の方法があります。アプリがバックグラウンドに入ると、ファイルが暗号化されます。アプリがフォアグラウンドに入った場合、ファイルは復号化されます。以上が本編です。どちらの部分も、ある程度の時間と多くのメモリを必要とします。バックグラウンドで、私はそのようなことをしています。
encryptionTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^(void) {
// Wwe took too long. Stop task.
}];
applicationWillEnterForeground では、次のことを行っています。
if (encryptionTaskId != UIBackgroundTaskInvalid) {
[[UIApplication sharedApplication] endBackgroundTask:encryptionTaskId];
}
私はそれがうまくいくと思います。しかし、私の問題は、ファイルの復号化home
中に誰かがボタンをクリックしたときです。applicationWillEnterForeground
再びapplicationDidEnterBackground
が開始されますが、復号化は完了していません。それを処理する最良の方法は何ですか。フォアグラウンドが終了するまで待つこともできますか?