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

Advanced iOS scripting

デバイスプロパティー

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

海賊版チェック

一般的にアプリケーションがハッキングされると、AppStore DRM プロテクションを外され、アプリケーションを無料で再配布されてしまいます。Unity での海賊版チェックを使用すると、AppStore に提出した後にハッキングによってアプリケーションが変更されたかを判断することができます。

アプリケーションがハッキングされていない純正なものであるかを Application.genuine で確認してみましょう。この機能は、もしこのプロパティーが false を返した場合、アプリケーションがハッキングされたものであるとユーザーに通知したり、アプリケーションの一部の機能へのアクセスを無効にするために有用です。

注意 Application.genuineCheckAvailable は、Application.genuine と一緒に使用して、アプリケーションに一貫性があるかの確認をする必要があります。Application.genuine プロパティーへのアクセスは、とても高負荷な操作であるためフレームの更新中やスピードが重視されるコードのときに使用すべきではありません。

バイブレーション対応

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

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

モバイル OS にはビルトインのアクティビティインジケーターがあり、処理に時間がかかる時に便利です。使用例は、スクリプトリファレンスの Handheld.StartActivityIndicator を参照してください。

画面の向き

iOS と Android デバイス両方で、自由にアプリケーションの画面の向きを制御することができます。ユーザーが持っているデバイスの向きに応じてゲーム画面も変更させたり、特定の向きに固定することは、ユーザーがデバイスを持つ向きに合わせてゲームの動作を調整するために有用です。

デバイスの向きは Screen.orientation を使って取得できます。向きには以下のようなものがあります。

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

Screen.orientation に上の画面の向きの 1 つを設定するか、ScreenOrientation.AutoRotation を使って画面の向きを制御します。画面を自動で回転させる場合も、状況に応じていくつかの向きを無効にすることが可能です。

詳細は、スクリプトリファレンスの以下のページを参照してください。Screen.autorotateToPortraitScreen.autorotateToPortraitUpsideDownScreen.autorotateToLandscapeLeftScreen.autorotateToLandscapeRight

Determining device generation

デバイスの世代によって、サポートされている機能に違いがあり、さらにパフォーマンスも差があります。デバイスの世代は iOS.DeviceGeneration で判断することができます。

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

Display cutout

On some displays, certain areas of the screen might be obscured or non-functional because of other hardware occupying that space. Use Screen.cutouts to return a list of bounding boxes surrounding each cutout.

iOS devices do not provide a native API to get the display cutout information, so the cutouts are hardcoded in the Xcode project for each available iOS device. You can modify existing data or add additional devices in the Unity Xcode project ReportSafeAreaChangeForView function, which is in the UnityView.mm file.

See the API documentation on Screen.cutouts for more information on using this function.

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