iOSDC 2023 2日目
開発Swift
iOSDC 2023 2日目!
各セッションについてのメモ。
freee は業務としてカンファレンスに参加できるが、iOSDC は例年ブースを出しているのでその運営も兼ねて iOSDC に参加した。
オブザーバビリティの実装と改善
11:00- TrackD
https://fortee.jp/iosdc-japan-2023/proposal/dd08cde4-d391-4538-800b-27bdf975f983
TVer の例
なぜ導入したのか
アプリの品質を計測できていない
ユーザーに発生した課題をデータで解決する
オブザーバビリティとは
システムのナブ状態を把握するための尺度
データからシステムで何が起きているかをどれだけわかるか
未知の未知への対応
アプリのデータを収集→ユーザーの課題を解決できる
例えばバックエンドのエラーだけを watch していても問題に気付けない
何を導入したのか
例えば以下のツールがある
- Firebase
- Sentry
- Datadog
TVerでは NewRelic を導入した
- アプリのテレメトリデータ
- メモリ使用量
- アプリの起動時間
- 独自のカスタムイベント
また、データの分析もしやすい。他のサービスメトリクスも含めて同一のサービス・画面で監視できるのも良い。
どう導入したのか
New Relic Mobile Agent を SPM で導入した。
アプリに問題がない = 快適に視聴できている?
そうではなく、アプリの動作状況、バックエンドの動作状況、ユーザーの番組視聴状況などによって快適さが変わる。
導入してどうだったのか
今後
MetricKit の導入活用やメモリ使用量の最適化でさらなる改善をしたい。
MetricKit って初めて知った
感想
確かにFirebase だとメモリ使用量の上昇に気付けない。あくまでメモリ使用量が上昇しきって、問題が起きたときにようやく気づけるが、それでは対応が遅い場合がある。もちろん freee は TVer ほどメモリやパフォーマンスの問題が起きない気がするが、品質を高めるためには予防もしていく必要がありそう。
真似できる!実践的なプロジェクト構成 bitkey流簡単レシピ
11:35- TrackA
https://fortee.jp/iosdc-japan-2023/proposal/a5870a6e-a470-4ee0-9a4b-58b6f4f5ca5d
TCA は使っていない
SPM 中心
Xcode Previews は想像以上に動く
実は Previews を実機で動かせる
実装にモジュールレベルで依存しないことが出来るか
pointfreeco/swift-dependencies を使用した。
参考になる
- pointfreeco/Isowords
感想
自分の理解力の問題か、何を言っているのか理解するのが難しかったため、書きながら話を聞くことができなかった。
また pointfreeco を初めて知った。
Xcode Cloud 安いらしいし、個人で触ってみるかー。
旅行アプリでより正確にパスポートを読み込む技術
13:55- TrackB
https://fortee.jp/iosdc-japan-2023/proposal/10e0f4d2-19b0-48ac-bd3c-83a9d7822ec9
パスポートの読み込みが必要になった
重要性
パスポート情報を間違えると空港で飛行機をキャンセルせざるおえなかったりする
そこで OCR で読みとる試みをした
パスポートの構成
VIZ
人の目で確認するための情報
MRZ
機械読み取り用に記載されている情報 ICチップとかではないんだ
技術選定
リソースの少なさから、年額制のSDKを利用したが、その後MLKitやVisionの検証をすることになった。
- SPM対応可否
- 実装容易性
- 精度
結論 Vision のほうがよかった
OCR が誤ることもある
そこでパスポートに組み込まれている NFC を読み取ることにした。日本でも2005年以降のパスポートでは埋め込まれている。
Type-BのNFCは個人情報が含まれるので、セキュリティレベルが高い。 パスポートに書かれている情報で認証することができる。
感想
OCR によって取得したデータと NFC から取得したデータを突合させて精度を高めるというの良い。気づいたとき、気も良かっただろうな・・。
なぜ、弊社はFlutterを捨ててネイティブ化(Swift / Kotlin)にコミットしたのか
2023/09/02 15:05〜
Track C
スポンサーセッション(20分)
スポンサーセッション
https://fortee.jp/iosdc-japan-2023/proposal/4a8ef72b-9c0c-40ef-8e8f-084fd0199c49
空間オーディオを活用しよう
16:00- TrackB
https://fortee.jp/iosdc-japan-2023/proposal/f99d0063-781b-4429-a9af-7444c7da609c
面白すぎてノートテイクはしなかったが、Apple の API を使えば自分で空間オーディオを作って遊べるかもしれないというのが面白い。
自分で Dolby Atmos とかの音源を用意したら作れるっぽい?もちろん必要なハードウェアを揃えた上でだが。
アプリで無理やりレンダリングしたら非対応なハードウェアでもそれっぽいことはできるだろうが、めちゃめちゃコストが高そう。