0

クライアント用の iPhone アプリを保守しています。アプリはバックグラウンドで実行されません (アプリケーションはバックグラウンドで実行されません = 設定 plist で YES)。ただし、ユーザーが一時的に (電話などで) 中断された場合や、アプリが存在する場合は、ユーザーをログアウトする必要があります。私は現在、applicationWillResignActive: でこれを行っています。最初は beginBackgroundTaskWithExpirationHandler を使用することを考えましたが、戻り値が常に「UIBackgroundTaskInvalid」であることに気付きました。これは、バックグラウンドで実行できないためだと思います。問題は、ログアウトをどのように処理すればよいかということです。ログアウトを同期させて、時間通りに終了することを期待する必要があります (10 秒以内だと思いますか?)。

最初は、この beginBackgroundTaskWithExpirationHandler が有効なバックグラウンド タスク識別子を返さず、アプリが正常にログアウトしていることに気づきませんでした。ユーザーの 1 人が「許可された時間を超えてアクティブなアサーションがあります」(iPad 1 の場合) でクラッシュし続けた場合を除きます。

他の誰かがこの問題に対処しましたか?

4

1 に答える 1