Apple公式情報によれば、ARKitが使えるOSバージョンの記載はありますが、使える機種については情報がありません。
レガシー機種をどこまでサポートするのか、対応している, していない機種の境目はどこかを知りたかったので調査しました。
対応,非対応に影響しそうな項目
- TouchID vs FaceID
直感的にわかりやすいところですが、FaceIDで認証している機種は機能として顔の形状をとらえることができると容易に予想できるので、FaceTracking対応していそうです。
FaceID対応機種は以下の通りで、iPhone X 以降と、iPad Proが対象になります。
逆にFaceIDでない機種は、iPhone X以前の機種、iPhone SE, iPad, iPad mini, iPad Airです。
- TrueDepthカメラの有無
こちらの情報ではiPhone8はTrueDepthカメラがついてないから使えないぜー的な情報ががありました。TrueDepthカメラも要件になりそうです。
- チップ番号とNeaural Engine
A11からNearal Engineが搭載されています。
FaceIDでなく、TrueDepthカメラがなくともARKitのFaceTrackingが使える機種がある!(iPhone SE2)って気づいたのが今回の調査の発端だったりします。
調査方法
実機上で、ARConfiguration.isSupported を参照すると対応いているかわかりそうです。
結果
サポートしていなかった機種
デバイス | チップ | Neaural Engine | FaceID | TrueDepth | 調べた機種OSバージョン |
---|---|---|---|---|---|
iPad(第5世代) | A9 | × | × | × | 14 |
iPad (第7世代) | A10 | × | × | × | 14 |
iPhone8 | A11 | ◯ | × | × | 16 |
iPad Air (第3世代) | A12 | ◯ | × | × | 15 |
iPad Mini (第5世代) | A12 | ◯ | × | × | 16 |
サポートされている機種
デバイス | チップ | Neaural Engine | FaceID | TrueDepth | 調べた機種OSバージョン |
---|---|---|---|---|---|
iPhone X | A11 | ◯ | ◯ | ◯ | 16 |
iPhone12 Pro Max | A12 | ◯ | ◯ | ◯ | 15 |
iPad Pro (第1世代) | A12X | ◯ | ◯ | ◯ | 14 |
iPhoneSE2 | A13 | ◯ | × | × | 15 |
iPad Mini (第6世代) | A15 | ◯ | × | × | 15 |
結論
なんとなく見えてきた結論ですが、
- A9チップ以前の機種はARKit FaceTrackingは使えない
- A11〜A12Xチップは、FaceIDが使えてTrueDepthがついている機種なら使える
- A13以降は使える
というかんじになりました。
全機種網羅的に調べたわけではないので、もしかしたらこの条件に当てはまらないケースがあるかもですが、
何かのご参考なれば幸いです。