Unity5.6.0b6のリリースノートにこのような修正が含まれています。
Build Pipeline: Changed ‘Application.bundleIdentifier’ to ‘Application.identifier’ and ‘PlayerSettings.bundleIdentifier’ to ‘PlayerSettings.applicationIdentifier’. These now apply to the active target only (Use PlayerSettings.SetApplicationIdentifier to set it for any platform).
プロパティ名の変更
BEFORE
- Application.bundleIdentifier
- PlayerSettings.bundleIdentifier
AFTER
- Application.
identifier
- PlayerSettings.
applicationIdentifier
と5.6からは、このようにバンドルIDプロパティに変更が入ります。
ただ、このプロパティはそれぞれのプラットフォームでしか動きません。
iOSプラットフォームで開発していた場合にアクセスした場合は、iOSのバンドルIDを変更できますが、同時にAndroidのバンドルIDを変更することは出来ません
プラットフォーム依存しないメソッド追加
PlayerSettings.SetApplicationIdentifier
というメソッドが追加されました。
こちらのサンプルコードを御覧ください。
このようにSetApplicationIdentifier
を使用すると、アクティブなプラットフォーム問わず、スクリプトからバンドルIDを設定することが出来ます。
またUnity5.6.0b6のタイミングでは、下記のプラットフォームが対応済みです。Nintendo Switchが早くも追加されています。
public enum BuildTargetGroup { Unknown, Standalone, WebPlayer, iPhone = 4, iOS = 4, PS3, XBOX360, Android, WebGL = 13, WSA, Metro = 14, WP8, BlackBerry, Tizen, PSP2, PS4, PSM, XboxOne, SamsungTV, N3DS, WiiU, tvOS, Facebook, Switch }
アプリのビルドフローは大抵ジェンキンスから自動で作成して配布状態にすると思います。
Unity5.5以下のバージョンからUnityを5.6にアップデートする際はご注意を。