ユーザーがn回目にアプリケーションを開いた後に関数を実行したい/ブール値を設定したい(nは任意の数値)。n回目の起動後、またはn日後に関数を実行するにはどうすればよいですか?
同様に、最初の起動からn日後に関数/ブール値を設定したいと思います。
私はこれのフレームワークを作ることを考えていましたが、どこから始めたらよいか分かりません。これを行う既存のフレームワーク/ココアポードはありますか?そうでない場合は、誰かが私にこれを達成する方法についていくつかのヒント/提案を教えてもらえますか?
ユーザーがn回目にアプリケーションを開いた後に関数を実行したい/ブール値を設定したい(nは任意の数値)。n回目の起動後、またはn日後に関数を実行するにはどうすればよいですか?
同様に、最初の起動からn日後に関数/ブール値を設定したいと思います。
私はこれのフレームワークを作ることを考えていましたが、どこから始めたらよいか分かりません。これを行う既存のフレームワーク/ココアポードはありますか?そうでない場合は、誰かが私にこれを達成する方法についていくつかのヒント/提案を教えてもらえますか?
UserDefaults
を使用して、ユーザーがアプリを起動した回数を記録することをおすすめします。 iRateというフレームワークがあり、アプリをどれだけ起動したかを選択して、ユーザーにアプリの評価を促す日を指定できます。インストール後の日数を追跡&インクルードはあなたあなたの関数を呼び出す前に、その後appDelegate didFinishLaunchingメソッドから
func trackUsage() {
let defaults = UserDefaults.standard
let installationDate = defaults.object(forKey: "installationDate") as? Date
if installationDate == nil { // this is the first launch of the app
defaults.set(Date(), forKey: "installationDate")
}
let usageCount = defaults.integer(forKey: "usageCount") ?? 0
defaults.set(usageCount + 1, forKey: "usageCount")
defaults.synchronize()
}
を呼び出すためにその
// FUNCTIONような何かを行うことができます開始された回数を維持するために 行うことができます。
if defaults.integer(forKey: "usageCount") ?? 0 > 10 {
// the app has been launched at least 10 times
}
この度はありがとうございました!私の最初の考えはそんなものでした。知ってうれしい私は正しい軌道にいる笑。 – LaurentShala
最も簡単にはUserDefaults
を利用するだろうでした。メインViewController
のviewDidLoad
に設定してください。
func setNumberOfStarts(){
let defaults = UserDefaults.standard
//will return 0 if not set previously
var numberOfStarts: Int = defaults.integer(forKey: "starts")
numberOfStarts = numberOfStarts + 1
defaults.set(numberOfStarts, forKey: "starts")
}
必要な場所で質問します。
func getNumberOfStarts() -> Int{
let defaults = UserDefaults.standard
//will return 0 if not set previously
let numberOfStarts: Int = defaults.integer(forKey: "starts")
return numberOfStarts
}
必要に応じて結果を行います。
let MAXIMUM_STARTS: Int = 10
func startedEnough() -> Bool{
var enough = false
let defaults = UserDefaults.standard
let numberOfStarts: Int = defaults.integer(forKey: "starts")
if numberOfStarts > MAXIMUM_STARTS {
enough = true
}
return enough
}
申し訳ありませんLastMove私はまだ入力していたし、あなたがすでに投稿したことを確認しました。 – Barns
提案していただきありがとうございます!やってみます! – LaurentShala
スクリプトを実行するたびに、ファイルに値を追加します。次に、値が十分に大きくなる場合は、関数を実行して値をリセットします。お役に立てれば! –