iOS
Unity3D
Unity

Unity.iOS.DeviceGenerationとその2017年秋のアップデートについて

More than 1 year has passed since last update.

 Unity 5から、UnityEngine.iOS.Deviceというクラスが加わりました。このクラスには、次のような情報をつかさどるstaticなプロパティが定義されています。

  • advertisingIdentifier・・・広告ID
  • advertisingTrackingEnabled・・・広告IDのトラッキング可否
  • systemVersion・・・iOSのバージョン
  • vendorIdentifier・・・ベンダーID
  • generation・・・Device種別

 Device種別をつかさどるgenerationプロパティは、UnityEngine.iOS.DeviceGeneration列挙型です。

 この列挙型には、iPhone3Gとか、iPhone5とか、iPhone6Sとか、iPadAir1のような、iOS端末の種別が列挙型の要素として定義されています。

 ところで2017年秋に、iPhone8、iPhone8Plus、iPhone Xがリリースされました。これら端末のDeviceGenerationの要素はいつ追加されるのでしょうか?

Unity Technologies Japan公式のナレッジベースの「2017 年の新 iPhone (iPhone8/8Plus/X) への対応状況」によると、

  • 5.5.X
  • 5.6.X
  • Unity2017.x

 上記のUnityでは、2017年10月中旬のパッチリリースで追加されるそうです。Unity 5.5以前には追加されないようです。ある程度前のUnityにもサポート中であれば、UnityEngine.iOS.DeviceGenerationが追加されるのですね。

 (けれど、Deviceによる挙動違いのコードとか書きたくないorz)

要素の追加履歴

 関連してUnityのドキュメント差分による追加履歴を示します。もしかしたら、パッチリリースなどでドキュメントには追加されていないけど要素としては追加されているかもしれません。

 Unity5.0のドキュメントはこちら

 Unity5.1のドキュメントはこちら。Unity5.0との差はないようです。

 Unity5.2のドキュメントはこちら。次の要素が増えています。

  • iPhone6S
  • iPhone6SPlus
  • iPadPro1Gen
  • iPadMini4Gen

 Unity5.3のドキュメントはこちら。次の要素が増えています。

  • iPhoneSE1Gen
  • iPadPro10Inch1Gen

 Unity5.4のドキュメントはこちら。次の要素が増えています。

  • iPhone7
  • iPhone7Plus

 Unity5.5のドキュメントはこちら。次の要素が増えています。

  • iPodTouch6Gen

 Unity5.6のドキュメントはこちら。次の要素が増えています。

  • iPad5Gen