iOSでUnityのパスを保存して使ってはいけない話

ヨメレバCSS

Unityでは標準で扱えるパスとして、次のようなものがあります。

Application.temporaryCachePath 一時的なデータを置いておくためのディレクトリパス
Appliaction.persistentDataPath 永続的なデータを置いておくためのディレクトリパス

これはUnityのほうで、それぞれのプラットフォームに合わせたパスを返してくれるもので、iOSの場合は次のようなパスが返ってきます。

Application.temporaryCachePath /var/mobile/Containers/Data/Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Library/Caches/
Appliaction.persistentDataPath /var/mobile/Containers/Data/Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents/

ファイルシステムプログラミングガイドにある、DocumentsとLibrary/Cachesですね。

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxには実際には英数字が並んでいると思います。

で、iOSにおいてどうやらこのパスの「xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx」の部分がアプリ実行時に毎回変わるみたい(XCodeの起動で確認)なので、このパスをどこかに保存しておいてアクセスする…ということをやっていると、次回起動時にファイルパスが見つからないみたいなことになります…

なので、iOSでこれらのパスを使うときは毎回取得するようにしないといけないという話です。厄介。

スポンサーリンク
GoogleAdSence レクタングル(大)