私はゲームを開発して約2か月前にApp Storeにリリースしました(Supernatural Slayer)。ゲームはユーザーのデフォルトを使用して、レベル、XP、金などのプレーヤーデータを保存します。iOSアプリケーションのアップデートとユーザーのデフォルト
私は迅速にハッキングのヘルプに基づいてプログラムしたレビュー要求を含むようにゲームを更新します。 (私はまた、チャートの後押しが理由なく無期限にアカウントを一時停止したので広告ネットワークを切り替える必要がありました...)
私は約4-6ヶ月前に開発中に別の変数を追加するたびに覚えていますユーザーのデフォルト設定を保存して読み込むと、既存のゲームがクラッシュする可能性があります。ユーザーのデフォルト設定を消去するために、ゲームを削除して携帯電話に再ロードする必要があります。しかし、今私は同じエラーを引き起こしていないreviewRequest変数を追加している、私は正しくテストしていない場合、私はすべての私の選手を更新すると、彼らの進歩を失うだろうかわからない...
保存と読み込み機能のコードが下記のとおりです。これにより、reviewRequest変数とその保存と読み込みの行を追加すると、アプリを更新する既存のユーザーにエラーが発生しますか?私はMac OSとXcodeの両方を更新しました。なぜなら、それは私のためにクラッシュしていたからです。だから、もうこれは問題ではないのでしょうか?
let defaults = UserDefaults.standard
var reviewRequest = 0
func save() {
defaults.set(reviewRequest, forKey: "Review Request")
defaults.set(player.name, forKey: "PlayerName")
}
func load() {
player.name = defaults.object(forKey: "PlayerName") as! String
reviewRequest = defaults.integer(forKey: "Review Request")
}
あなたはnilチェックを追加する必要があります。キーのデータを持たずにデフォルトを取得しようとすると、クラッシュします。 – Antoine
さて、次のように追加します。ありがとうございます! reviewRequest他== nilの{ reviewRequest = 0 } {reviewRequest = defaults.integer(forKey: "レビューリクエスト")}場合 – Dominick
は私の答え:) – Antoine