目次
Session概要
iOSやiPadOSにはで開発者があらゆるデバイス世代に対応する画期的なアプリやゲームを提供するのに役立つ強力な機能が備わっています。しかし場合によってはパフォーマンス要件の非常に厳しいアプリがA12 Bionicチップ以上を備えたデバイスでしかより良い体験を提供できないことがあります。Xcode 12では開発者がパフォーマンス重視のアプリやゲームの設定画面でこの要件を表示させることができるようになりました。
このセッションでは、この設定を適用する限られた状況と、慎重に考慮しなければならないアプリ配布のトレードオフについての説明。
このアプローチ(A12 Bionicチップ以下のサポートを切る)を選択する前にアプリの最適化について多くの経験を積むことをお勧めします。全てのサポートデバイスでアプリをうまく機能させるために使用できるツールやベストプラクティスに関する具体的なインサイトについては下記のセッションを参照すると良い
Delivering Optimized Metal Apps and Games https://developer.apple.com/videos/play/wwdc2020/10621/
Xcode Required Device Capabilityの設定
- Required Device Capability とは
- アプリ実行に必要とされるデバイスに関する機能のリスト
- Info.plistのリストにエントリーを追加する
- エントリーにはアプリが必要とするデバイスファミリー特有の機能を示す
- AppStoreにこのリストを渡すことで、エンドユーザーが必要な機能を満たしていないデバイスを利用している場合にアプリをインストールすることを防ぐ
デバイス上で高性能ゲームやプロアプリケーションを可能にするデバイス機能
- Metalキー
- アプリやゲームはMetalグラフィックスAPIが必要となることを示す
- すなわち、A7以降のチップとGPUがMetalの高度なグラフィックスを可能とする
- ARKit
- ARをサポートするA9以降のチップ搭載デバイスが必要となることを示す
- iphone-ipad-minimum-performance-a12 キー
- iOS 14から追加されたパフォーマンスのための新しいキー
- A12 Bionic以降のチップが搭載されたデバイスが必要
- iOS 14とXcode 12に供給されている
- A12 Bionicに含まれる機能
- 6コアCPUと4コアGPU
- 第2世代のNeural Engine
- AR体験のためのPeopleオクルージョン
- モーションキャプチャをもたらすARKit3
- MetalのGPUファミリー Apple5

A12 Bionic以降を搭載するデバイス
- iPhone 11
- iPhone 11 Pro
- iPhone SE(第2世代)
- iPad mini(第5世代)
- iPad Pro(第4世代)

Xcodeでのパフォーマンスレベルの設定

A12 Bionicによる制約を設定するために
- iOS 14をサポートするすべてのデバイスに対応できるように最善を尽くす
- 新しいキーを利用するためにアプリをiOS 14に対応させる
- その他、グラフィックス、ゲーム、メモリ使用量の最適化を行う
- 設定後にTestFlightにて確認する