Unity2020.xからiOSアプリのProductNameの扱いが変わってそうな話
別に大した影響は無さそうだけど、気になったのでメモ
Unity2019まではプロジェクトをUnity上でビルドした後、Xcodeプロジェクトの中のProductNameを見ると、bundleIdの.区切りの最後の単語になっていた。
例えば、自分のアプリで「大喜利オンライン」というものがあるんですが、そのbundleIdは
「com.staminatech.oogiri」
なんですね。
なのでProductNameは「oogiri」になっていて、パッケージ化されたappファイルを見てみると、
oogiri.app
という表示になってたんですね。
で、Unity2020からはこのProductNameの付け方がちょっと変わったようで、Unity上の「ProudctName」っていう項目をそのまま使うようになったみたいです。
ここのProductNameに入れた数値が端末のアプリ一覧の画面で表示されるので、「大喜利オンライン」って入れてます。
大喜利オンライン.app
という名前になるのかなと思いきや、日本語名を使っている場合は
ProductName.app
という表示になるようです。
ちなみに例えば「2048パズル」とProductNameに入れていた場合は、パズルの部分だけが消えて
2048.app
という名前になります。
だから何
まあ別にだから何って話なんですが、例えばUnity2019で作った大喜利オンラインをアップデートでUnity2020を使うってなったときに、生成されるアプリ名が
oogiri.app から ProductName.app
に変更になっちゃうわけですよ。
これなんか怖くないですか?
データ消えちゃいそう
ということで一応確認、、
-
PlayerPrefsの保存先
- /Library/Preferences/[bundle identifier].plist[1]
bundle identifierに紐付いているので問題なさそうですね。
- /Library/Preferences/[bundle identifier].plist[1]
-
Application.dataPathの保存先
- <path to player app bundle>/<AppName.app>/Data[2]
AppName.appが出てきました\(^o^)/
まあでもApplication.dataPathはReadOnlyなので、動的に変更するデータを入れるわけじゃないので、問題なさそうです。
- <path to player app bundle>/<AppName.app>/Data[2]
-
Application.persistentDataPath
- /var/mobile/Containers/Data/Application/<guid>/Documents.[3]
guidはアプリ名に関わらず一意なので、問題なさそうです。
- /var/mobile/Containers/Data/Application/<guid>/Documents.[3]
結論
きっと大丈夫!
もしやばい何かがあるならきっともう誰かが見つけてる!
誰も言ってないから平気なはず!
(でも自分は2019→2020へのアップデートはちょっと控えておきます
-
https://docs.unity3d.com/2020.1/Documentation/ScriptReference/PlayerPrefs.html#:~:text=On iOS%2C PlayerPrefs are stored,%2FPreferences%2F[bundle identifier]. ↩︎
-
https://docs.unity3d.com/2020.1/Documentation/ScriptReference/Application-dataPath.html ↩︎
-
https://docs.unity3d.com/2020.1/Documentation/ScriptReference/Application-persistentDataPath.html ↩︎