[iOS 17] Nearby Interactionの延長距離測定 (Extended Distance Measurement / EDM)
`NINearbyPeerConfiguration` に、iOS 17で `isExtendedDistanceMeasurementEnabled` という新しいAPIが生えていた。
この新APIについて、WWDC23では僕の知る限りでは言及されていない。
(そもそもNearby Interaction関連のセッションがなかった)
Apple公式サンプル
調べると、以下の公式サンプルのページが見つかった。
サンプル自体は以前から存在する、ARKitを使って他の(AppleのUWBチップを搭載した)デバイスを見つけるというもの:
このサンプルは、iOS 17以上 / iPhone 15以降のデバイスで実行すると、Extended Distance Measurement (EDM) 機能を試すことができる。
同ページの別部分での記述によると、同機能の利用には第2世代のUWBチップ(U2)が必要なようだ。
起動してすぐの画面の、"Discuss jetpacks〜"をタップするとEDMを使用したデモを利用できる。
下側のメニューはiOS 17以上の端末でのみ表示されるようになっている:
if #available(iOS 17.0, watchOS 10.0, *), NISession.deviceCapabilities.supportsExtendedDistanceMeasurement {
NavigationLink(destination: NICameraAssistanceView(mode: .visitor)) {
Text("\(Image(systemName: "person.2")) Discuss jetpacks with another visitor.")
.padding()
.font(.title2)
.cornerRadius(10)
}
}
メニューを選択するとカメラへのアクセスを求められ、
許可すると次のようにカメラを利用しつつ相手デバイスを探すような画面になる:
だが残念ながら
というハードルが高すぎるため、このサンプルの実際の(他のデバイスとの)インタラクションは試せていない。
いずれ新機種が出たら試すとして、この機能がどういうものなのか、当該サンプルページの解説と、その後見つけたEDMの解説ページを読んでいく。
距離品質推定関数(Distance Quality Estimator)の実装を読む
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/