2016-09-04 5 views
-1

私のアプリの基本的な成果(例えば、30日間連続で使用する、1日に10分使用するなど)を作成しようとしていますが、これについてどのような文書を見つけることができないようです。私はゲームキットを見てきましたが、私のプロジェクトがマルチプレイヤーではないので、それが本当に必要なものに合っていないように思えます。スイフト:マイルストーン/チャレンジを作成する方法IOS?

答えて

0

iOSのドキュメントのManaging State Transitionsセクションを参照してください。

あなたのできることは、アプリがアクティブになり、非アクティブ/バックグラウンドになる日付を保存することです。これに基づいて、ユーザがである場合、それを1日10分で計算することができます。

同じように、アプリがアクティブになる毎日を保存して、があるかどうかを判断するロジックがあります。これは、行内で30日間使用します

+0

これは有望です。私はそれと一緒に遊び、あなたに戻ってくるだろう! –

0

データの永続性(NSUserDefaults、Core Dataなど)を調べ、ストリークが維持されているかどうかを確認するための日付を計算することができます。

+0

私はすでにストリークを保存するためにコアデータを使用していますので、これを使用すると便利です!しかし、どのようにすれば、日付が10日連続で連続しているかどうかを確認するコードを設定できますか? –

+0

変数を 'counter'とし、コアデータにアプリを開いたときの時間を保存することができます。アプリが開かれるたびに、あなたのDBの時間(最後のレコード)と比較することができます。差が24時間未満の場合(時間を保存するフォーマットによって異なります)、カウンターを1つ増分します。そして、あなたが望むように、カウンタの値が10、> 10、> 30であるかどうかを確認します。それ以外の場合は24時間を超える場合は、データベースからすべてのタイムスタンプをクリアし(オプション)、カウンタを0にリセットします。カウンタ変数もコアデータデータベースに保存されます。 –

関連する問題