0

私たちのアプリケーションでは、ユーザーが 1 週間ログインしない場合、ユーザーを自動ログアウトする必要があります。

それをスケジュールするための最良の方法は何ですか?NSTimer(24*7*60*60) の時間間隔で使用しましたが、うまくいきますか?

注意: アプリを終了すると、自動的にログイン画面が表示されます。したがって、このケースは、アプリが 1 週間最小化された場合にのみ発生します

4

1 に答える 1

3

アプリがバックグラウンドにある場合、NSTimer は一時停止します。ユーザーが他のアプリを実行する可能性は常にあるため、アプリはバックグラウンドになります。

私はこのような問題に取り組みます

  • ユーザーがログインすると、現在の時刻 ( ) を取得し、 「lastLoginTime」のようなキーNSDateで保存し ます。NSUserDefault
  • ユーザーがアプリを起動/再開するたびに、現在の時刻と以前に保存した時刻を確認します。差が 1 週間を超える場合は、ログアウトを呼び出します。
  • 差が 1 弱未満の場合はNSUserDefault、現在の時刻で値を更新します。
于 2013-08-13T04:01:53.110 に答える