ARKit対応デバイスと普及率、iOSのバージョン制約のまとめ

ARKitだけにフォーカスしてデバイスやiOSのバージョンについてまとめます。

# ARKit対応デバイス(2018年12月現在)
<img width="377" alt="スクリーンショット 2018-12-02 19.33.33.png" src="https://qiita-image-store.s3.amazonaws.com/0/111366/e6dfa64e-f760-8e65-d60b-0a31b73238e9.png">


iOS11以上にした時にARKitが使えるデバイスは以下です。A9チップ以降のモデルで使用することができます。

## iPhone
- iPhone XR
- iPhone XS
- iPhone XS Max
- iPhone X
- iPhone 8
- iPhone 8 Plus
- iPhone 7
- iPhone 7 Plus
- iPhone SE
- iPhone 6S
- iPhone 6S Plus

## iPad
- 11インチ iPad Pro
- 12.9インチ iPad Pro(第3世代)
- 12.9インチ iPad Pro(第2世代)
- 12.9インチ iPad Pro(第1世代)
- 10.5インチ iPad Pro
- 9.7インチ iPad Pro
- iPad(第6世代)
- iPad(第5世代)

## iPod
対応デバイスなし

出典： https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html

# iPhoneのARKit対応デバイス普及率

2018年8月時点Mixpanelが調査した最新のアメリカの様子です。**iPhoneデバイスの約83%がiOS11にすればARKitに対応するという状況です。**

<img width="915" alt="mixpanel.png" src="https://qiita-image-store.s3.amazonaws.com/0/111366/242efdaf-1c44-d3d8-5ce0-68dd5821ced4.png">

出典：https://mixpanel.com/blog/2018/09/10/12-graphs-and-9-questions-about-the-2018-apple-launch/

# ARKit対応デバイスのiOS11普及率

Apple調べでは2018年10月29日時点で過去４年間で発売されたデバイスの93%がiOS11以上だとしています。ARKit対応デバイス最古のiPhone6Sの発売日が2015年9月25日なので、ARKit対応端末のiOS11~普及率として計算して概ね問題ないでしょう。

<img width="305" alt="スクリーンショット 2018-12-02 18.46.28.png" src="https://qiita-image-store.s3.amazonaws.com/0/111366/b1f866bf-b32f-105c-8488-e98d2984f4e5.png">

出典： https://developer.apple.com/support/app-store/

MixPanelの12月1日時点のiOSの普及率データは、iPhone全体ですが94%がiOS11以上ということで、ほぼほぼみんなiOS11以上にしていることが分かります。

<img width="168" alt="スクリーンショット 2018-12-02 18.52.17.png" src="https://qiita-image-store.s3.amazonaws.com/0/111366/0542181f-75ef-453c-4b0d-87c0902c1200.png">

出典： https://mixpanel.com/trends/#report/ios_12/from_date:-31,report_unit:day,to_date:0

# iPhone全体におけるARKit対応端末の割合(予測)

上記の通り、

- 2018年8月のARKit対応デバイスはiPhone全体の83%の普及率
- 2018年10月の過去4年間のiOSデバイスのiOS11~普及率は93%

ということで、

**83% * 93% = 77.2%**

2018年12月現在、**約77%のiOSデバイスがARKitに対応している**と言えるでしょう。(iPhone6, 6Plusが93%に入りますが、データ計測からさらに２ヶ月経っているのでプラマイゼロくらいと考えて計算しています。)

# ARKit顔認識対応端末

iPhoneX, XS, XSMax,XR,2018年10月発売のiPadProではARKitのインカメでFaceTrackingが使えるのに対してそれ以外の端末では使えません。

|端末|ARKit顔認識対応|
|:-:|:-:|
|iPhoneX,XS,XSMax,XR,iPadPro(11-inch),iPadPro(12.9-inch,3rd generation)|○|
|iPhone6S,6SPlus,SE,7,7Plus,8,8Plus,|×|

参考: https://developer.apple.com/documentation/arkit/creating_face-based_ar_experiences

# iOS11.3以上のみ使えるARKitの機能

ARKit1.5の機能は11.3以上のみで使えます。

- supportedVideoFormatsが変更できるように 
https://qiita.com/shu223/items/86ef45b4b5c0bba0276f

- 壁などの垂直面の認識

- 「非」矩形な平面検出 
https://qiita.com/shu223/items/beb89e5dde1aeb94e8d5

- 原点の変更 
https://developer.apple.com/documentation/arkit/arsession/2942278-setworldorigin

- 2D画像の検出機能


- sessionShouldAttemptRelocalization
https://developer.apple.com/documentation/arkit/arsessionobserver/2941046-sessionshouldattemptrelocalizati

参考: https://developer.apple.com/library/archive/releasenotes/General/RN-iOS-11.3/index.html#//apple_ref/doc/uid/TP40017699

# iOS12以上のみ使える機能

- 環境光や景色の反射
- 物体認識
- 空間マップ保存
- 顔認識に舌と目線を追加
- 各種トラッキングの精度向上

詳しくは[ARKit 2.0の何が凄いのか
](https://qiita.com/k-boy/items/d935b76fed67e11b9fb2)に書きました。

# まとめ
- 約77%のiPhoneユーザーがARKitを使える
- iOS11.3以上、12以上で使える機能が異なるので依存には注意