個人ゲームアプリ制作 -
unityによるゲーム制作

リリースアプリ一覧

unity2D


【iOS】コマンドタップバトルデータ消失につきまして

この度はコマンドタップバトルをアップデートした際にセーブデータが消失してしまい、ご利用頂いておりましたユーザーの皆さまに不愉快な思いをさせてしまいました事、謝罪を致します。

本当に申し訳ありませんでした。

セーブデータをサーバ等に保存している訳でもないので、復元することができません・・・。
私の技術不足で招いてしまった事態を悔やむしかありません・・・。

今回起こったデータ消失に関しては、色々調べたところ完全に私の不注意と知識不足により引き起こしてしまいました。
まず、Unityでのセーブデータは、~/Library/Application Support/company name/product nameに保存されています。
これは各端末のApplication Supportディレクトリ内にセーブデータが格納されているということです。
そして、このcompanyNameとproductNameはplayerSettingsから設定できる箇所を参照し、その値(名前)で保存する仕組みのようでした。

unityのページにはこう書かれています。
“値はアプリケーションが実行されている間データを維持して保存することが予想されるディレクトリパスです。iOS と Android をパブリッシュしたとき persistentDataPath はデバイスの public ディレクトリとなります。この場所はアプリケーションの更新ごとにファイルは削除はされません。ですが、ユーザーのアクションに対しては安全ではないことに注意してください。例えば、Android では SD カードを削除すると保存していたデータにアクセスすることはできなくなります。アプリケーションをビルドしたとき GUID はバンドル ID を基にして生成され、persistentDataPath の一部で使用されることに注意してください。もし将来のバージョンで同じバンドル ID を維持した場合、アプリケーションは毎回アップデートしても同じ場所にアクセスしようとします。

つまり、データが消えた訳ではなく、companyNameとproductNameを不用意に変えた事により、参照先が変更されたことが今回の初期化の原因となります。

データ自体はアプリを消さない限り残ってますので(多分)、companyNameとproductNameを前バージョンでビルドした時に戻せば復元できますが、新バージョンで新しく始めた方はまた初期化されてしまうので、結局のところ戻せないという結論に至ります。
無知は罪という事を身を以て知った一件でした。

ただ、コマンドタップバトルを遊んで頂いた皆様に不愉快な思いをさせてしまった事が本当に申し訳なく、そして初期化の原因が私の不注意と知識不足であった事が本当に悔やまれます。

この度は誠に申し訳ありませんでした。

2018 / 02 / 15
unity2D
お知らせ

スポンサーリンク

© 2018 Takahiro Ueda