lelelemon’s blog

カメの歩みでのんびり学んでいます。

【技術イベント参加】 iOS DC 2025

はじめに

こんにちは。iOS DC 2025 に参加したので感想等メモに残したいと思います。


・開催日

2025/9/19 ~ 2025/9/21

iosdc.jp


・形式

オフライン・オンラインのハイブリッド開催


・参加理由
DroidKaigiのときと同様、プロポーザルの公募に申し込んだことがきっかけです。会社の同僚の方と一緒にプロポーザルを出しました。結果は落選だったものの iOS に関する様々な知見が共有される場に参加することで、iOS 開発の業務に活かせるヒントを得たいと思い参加しました。

イベントの構成

全3日間のイベントとなっており、
1日目は Swift コードバトルというコードゴルフが開かれていました。与えられたお題に関して、それを解くコードをより短く書いた方が勝ちというルールで、瞬発的な発想とコーディング力が求められます。私は業務都合で行けませんでしたが、来年は予定合えば観戦したい(実力が全然伴ってないですが、研鑽を積んで参戦にもチャレンジ!)と思ってます。同時間帯にはいくつかセッションも開催されていたようです。

2日目、3日目は様々なセッションが開催されました。私は2日目からの参加です。同時間帯に4つのセッションが開催され、20分枠のセッションが中心で、一部40分のセッションもありました。2日目は特に人が多く、満席になっているセッションも多数ありました。

ブースエリアでは何十社もスポンサー企業各社がブースを出店されており、各ブースを回ってのスタンプラリーもあり大変に賑わっていました。色々回って担当の方々と情報交換して有意義な時間を過ごしました。
あとコーヒーやジュースなどのドリンクやお菓子の提供、15時以降はお酒の提供もあって何度かお世話になりました。

印象に残ったセッション

「ウォンテッドリーのAI活用:開発現場での取り組み by 長尾 光」

  • ウォンテッドリーの開発組織におけるAI活用事例について、導入の背景・目的と合わせて共有いただいた
  • たとえば、モバイルエンジニアがモバイル領域外のタスクを行うこともある中で、コードリーディングに時間がかかるという課題があり、AIを活用することで時間短縮を実現した話が、私も実体験としてあり印象に残った
  • 検討系の業務ではChatGPTやPerplexity, コーディング支援では Cursor, Copilot, devin、コードレビューでは CodeRabbit や Cursor Bugbot、のように使い分けをしている
  • 場面に応じたAIの使い分けを模索中だったので参考になった


「そろそろ FormatStyle by treastrain / Tanaka Ryoga」

  • iOS 15以降で使える、FormatStyle の記法や実装例、Tipsを共有してくれて、従来の DateFormatter を使うよりもずっとスタイリッシュに書けることを知れ、早速使っていこうと思った(体感だけど、AIで生成したコードは DateFormatter を使う実装が出てくることが多いイメージ、そのうち置き換わっていくかな)
  • 文字列型以外にも日付型や TextField にも使え、柔軟に組み込める
  • 対応しているフォーマットが多いが、その中に自分が使いたいフォーマットがない場合は自作の FormatStyle を作成して対応可能(セッションでは自作の実装例も合わせて紹介してくれた)
  • フォーマット書式を書くときのローカライズファイルとの棲み分けだが、単位や地域に応じた表示はFormatStyleに寄せて、ローカライズファイルには書かない、という考えもあることを知った


「ABEMAモバイルアプリがKotlin Multiplatformと歩んだ5年: 導入と運用、成功と課題 by 安井 瑛男」

  • Kotlin Multiplatformのプロジェクトへの導入にあたって、どのように進めていったかを紹介いただいた
  • 抱えていた課題として、同じロジックでも iOS と Android で設計が異なり結果的に異なるロジックになっていた
  • 仕様やロジックの共通化の課題に対するアプローチとして、KMPを選定し導入を進めていった
  • ほかにも Flutter や React Native の選択肢もあったが、以下の理由からKMPを選定した
    • 共通ロジックから部分的に導入していきたかった(部分的に導入できるのはKMPの強み)
    • Android エンジニアにとっては慣れ親しんだ言語
  • 一方で以下のような運用上の課題もあるので導入するかどうかはプロジェクト特性によって判断した方が良い
    • まず導入には学習コスト等、時間がかかる(実際abemaさんでも最初数年は少しずつ導入を進めていったそう)
    • 導入には時間がかかるので、リードエンジニア等、KMP専任で推進する人を立てるべき
    • ビルド時間の問題(exportするインタフェースが増えるにつれてビルド時間が伸びていく)
    • デバッグが大変
  • KMP導入の判断基準
    • UIをネイティブで実装するか
      • しない場合、KMP+CMP, Flutter, React Nativeなどでアプリ全体を共通化
      • する場合で、プラットフォーム間でロジックを共通化したいなら部分的に共通化できるKMPは選択肢になる
      • する場合で、ロジックをバックエンドに持ち、モバイル側にほとんどロジックがないようなケースではKMPでの共通化メリットがあまりないので導入しない方が良さそう


「ゼロタップの世界へ - UWB × Nearby Interaction 実装ガイド by 岡 優志」

  • 位置情報をインタラクティブに通信するフレームワークである Nearby Interaction と UWB(Ultra Wide band)チップを組み合わせて iOS 製品との距離や方向を測定することが可能なことを、デモを交えて発表いただいた
  • iOS14以降で使える
  • Apple Watch との接続も可能で、Simulator でも試せる
  • ARKitとの組み合わせで使用する
  • UWBチップは、村田製作所の製品が販売されている(約15,000円)
  • 距離と角度の2つの組み合わせで位置を特定している
  • 人工衛星の距離測定と計算ちょっと似ている印象を受けた(知識が乏しいのでこれ以上の言及は避けます。。)
  • Nearby Interaction に関する Apple 公式のサンプルコードが充実している
  • 似たような製品で AirTag があるが、AirTag は距離しかとっておらず、精度は UWB チップの方が高い
  • ただ AirTag でも比較的十分な精度で iOS 製品との距離を計測できるため、値段も鑑みると AirTag で良いのではというまさかのオチがw
  • でも全く知らない分野の話で面白かった

学んだこと・得られたこと

技術系のカンファレンスに参加する際はよくキャリア系のセッションを聴講することが多いですが、今回はSwift技術を使って作ってみた系のセッションやAI関連のセッションを中心に聴きました。
その中で Apple Wallet や Nearby Interaction など特徴的な技術を使った楽しい開発の方向性もあることを知り、嗜んでみたいと思いました。
各社のブースで独自開発したアプリや製品のデモ展示やSwiftクイズもあり、各社の取り組みと合わせて色々な話を聞けて視野が広がったし、よりSwiftの知見を深めてできることを増やしていきたいと思いました。

今後のアクション

  • Apple の公式ドキュメントを読み、サンプル実装から知識をキャッチアップしていく
  • TSPLをやる
  • Apple Wallet 使ってみる
  • 個人開発で Swift で何か作る (今は Flutter 中心)

終わりに

iOS DC 参加するのは今回が初めてでした。私自身は Swift の経験は数ヶ月程度と浅く、なかなかセッションの内容が理解できず歯がゆい感じでしたが、知らない分野の話も色々と聞けてやりたいことが増えました。
イベント全体を通してワイワイと楽しかったです。LT大会ではペンライトを振った演出もあったりしてすごい盛り上がりでした。ブースや懇親会で他社のエンジニアの方とお話しできたのも良い思い出になりました。
プロポーザルは今回落選でしたが、また次回チャレンジします。
楽しいイベントをありがとうございます、次回の開催を楽しみにしています!


(おまけ)
iOS DCのボードと、スタンプカードの写真(のちにコンプリート)です。