【Unity】iPhoneにゲームアプリを実機ビルドしたが、PlayerPrefsが初期値にならない

 

問題

作っているゲームをテスト用にiPhoneに実機ビルドしたら、PlayerPrefsが初期値にならない。

 

 

状況

 

Unityでモバイルゲームアプリを制作中。
PlayerPrefsでデータを保存している。

スタートメニューでPlayerPrefsに保存データがあるかで、初期プレイかどうかを判定する。
保存データがなければ「START GAME」を表示し、データがあれば「LOAD GAME」を表示するようにした。

が、ビルド→インストールしてもなぜか何かのデータが残っており、「LOAD GAME」になってしまう。

 

 

解決法

旧バージョンのアプリに上書きインストールしていたのが原因だったっぽい。

実機で旧バージョンのアプリを一旦削除して、新規でxcodeからビルド→インストールすれば解決した。

 

ビルド時に旧バージョンに上書きインストールすると、元のバージョンのPlayerPrefsのデータが残ってしまうらしい。

なのでアプリを削除しないとデータが保持されてしまうっぽい。

初歩的なコトっぽいが、ちょっとハマったので書いておく。

 

完全にデータを削除してインストールしたい時は、テスト用にインストールした古いバージョンのアプリを削除してからインストールする。
これでPlayerPrefsのデータは消えると思う。

チュートリアルも初期プレイかどうかの判定で出していたので、これでちゃんと出るようになった。
よかった。