Version: 2017.3
iOS Game Controller への対応
iOS のパフォーマンスの最適化

上級者向け Unity モバイルスクリプト

## デバイスプロパティー

デバイス特有のプロパティーには、アクセス可能なものがいくつかあります。詳細は以下のページを参照してください。SystemInfo.deviceUniqueIdentifierSystemInfo.deviceNameSystemInfo.deviceModelSystemInfo.operatingSystem

海賊版チェック

海賊行為をする者は、ときにアプリをハッキングして( AppStore DRM プロテクションを外して)、アプリをフリーで再配布してしまいます。Unity では、海賊版かどうかをチェックする仕組みがあり、AppStore に提出した 後でも アプリが変更されたかを判断することができます。

アプリがハッキングされていない純正なアプリであるかを Application.genuine でチェックすることができます。もしこのプロパティーが false を返した場合、アプリがハッキングされたものであるとユーザーに通知したり、アプリの一部の機能へのアクセスを無効化できます。

注意: Application.genuineCheckAvailable は、Application.genuine と一緒に使用して、アプリに一貫性があるかの確認を検証することができます。Application.genuine へのアクセスは、とても高価な操作であるためフレームの更新中やスピードが重視されるコードのときに使用すべきではありません。

バイブレーション対応

バイブレーションを行うには Handheld.Vibrate を呼び出します。バイブレーションの機能がないデバイスでは、この呼び出しは無視されることに注意してください。

アクティブティインジケーター

モバイル OS には内蔵のアクティビティインジケーターがあり、処理に時間がかかる時に表示すると便利なものです。使用例については Handheld.StartActivityIndicator docs を参照してください。

画面の向き

iOS/Android/Tizen では、自由に画面の向きを変更することができます。ユーザーが持っている端末の向きに応じてゲーム画面も変更させたり、特定の向きのみ回転させることも可能です。

デバイスの向きは Screen.orientation から取得することができます。向きは以下のように表します。

Portrait 縦向きのモードです。デバイスを直立させると、ホームボタンは下になります。
PortraitUpsideDown 縦向きのモードです。ただし、デバイスを直立させると、ホームボタンが上になります。
LandscapeLeft 縦向きのモードです。デバイスを直立させると、ホームボタンが右側になります。
LandscapeRight 縦向きのモードです。デバイスを直立させると、ホームボタンが左側になります。

画面の向きを指定する場合は Screen.orientation に特定の向きを設定し、画面の向きに合わせ回転させるには ScreenOrientation.AutoRotation を使用します。 Auto Rotation とした場合は、特定の向きだけを無効化することもできます。詳細は以下のページを参照してください。Screen.autorotateToPortraitScreen.autorotateToPortraitUpsideDownScreen.autorotateToLandscapeLeftScreen.autorotateToLandscapeRight

上級者向け iOS スクリプト

デバイスの世代の判断

デバイスの世代によって、サポートされている機能に違いがあり、さらにパフォーマンスも差があります。そのため、デバイスの世代を判定して、遅さを補うためにどの機能を無効にするかを決めなければなりません。デバイスの世代は iOS.DeviceGeneration で判定することができます。

デバイスの世代ごとの情報、パフォーマンス、サポートされている機能については iOS ハードウェアガイドガイド を参照してください。

iOS Game Controller への対応
iOS のパフォーマンスの最適化