はじめに
iPhoneアプリをハッカソンに取り込んで一緒にたくさん結果残そう!という記事を連載していきます。
注意:ハッカソンで成果を残しやすい、という観点からの記事になります。ちゃんと開発する場合には他に考えるべき点もあることに注意。
関連記事
便利なフレームワーク
iPhoneには様々な機能がありますよね。カメラ、歩数計、時計、通知…
これらをうまく扱えるフレームワークを、Appleはちゃんと用意してくれています。ドキュメントも。
これらを使いこなしたら、単なるwebアプリよりも強くなりやすい、というのが個人的な意見です。
ということで、便利な機能についてまとめていきます。
カメラ
言わずもがな。こいつを使いこなしたらだいぶ強いです。
AVCaptureSession
単にカメラを使うより、CaptureSessionをつかって画面にカメラのプレビューを流し続ける方が、色々な機能が作れるのでおすすめ。
VisionKit
簡単にAIを組み合わせられて、VisionKitが特におすすめ。
CreateMLを使うことで簡単な画像分類モデルならすぐ作れるので、取りいれるのは面白いと思います。
RealityKit
あるいは、RealityKitをつかってARを実装するのも良いと思います(VRとかになってくるとUnityのほうが良くなってくる。あるいはVision Proを持ってるならそれで開発してもいいかも…?)
Metal
カメラ周りでもう一点あるとすれば、Metalを使って画像処理をするとか。リアルタイムでも十分重ための処理が可能だと思います。
身体データ - HealthKit
iPhoneは(勝手に)いろんな身体データ、歩数とか睡眠時間とか、AppleWatchがあれば心拍数もとっています。これはHealthKitから簡単にアクセスできます。
HKWorkout
ワークアウトの情報にアクセス可能。sessionを見れば、心拍数や移動距離など、ワークアウトアプリさながらの情報をリアルタイムに取得できます。
心拍数
上述のワークアウトを使うと、AppleWatchからリアルタイムで心拍数データを取得できます。
これを使ってハッカソンらしい(心拍数をどれだけ上昇させられるかゲームとか)アプリを作ることも可能。
こういうのはかなり実装が大変なので、WWDCからデモアプリを探してくるのがいいです。(ページ下部からダウンロード可能)
WatchConnectivity
これ関連で、リアルタイムにAppleWatchと通信する、みたいな方法も考えられるわけです。一般に上記のWatchConnectivityを用いて行うのですが、すごい便利で目立つ機能が実装できると思います。
おわりに
iOSで使える機能はもっと沢山ありますが、こういう「使ったことある機能」を組み込むことで、不要な説明なく文脈を正しく伝えられます。どんどん使っていきましょう!