レギュラートーク(20分)

言葉の壁を乗り越えろ!Translationフレームワークで実現するオフラインリアルタイム翻訳

kuromelon257 岡本龍太郎

従来、iOSアプリに翻訳機能を組み込む際は、Google翻訳やAmazon Translateなどの外部APIに頼るしかありませんでした。これにより、従量課金・通信依存・オフライン非対応といった課題がつきまとっていました。

そんな中、iOS 17.4以降で登場した「Translationフレームワーク」は、Apple純正のオンデバイス翻訳モデルを活用することで、ネットワーク接続なし・高速・回数制限なしという理想的な翻訳体験を実現できます。

本トークでは、私がこのTranslationフレームワークをAVSpeechSynthesizerと組み合わせて開発した「喋った内容をオフラインでもリアルタイム翻訳するアプリ」を題材に、以下の実践的な実装ノウハウをお話しします。

  • translationPresentationによる標準UIの制約と可能性
  • SwiftUIのViewに依存するTranslationSessionをロジックに組み込む活用法
  • AVSpeechSynthesizerとの組み合わせによる音声認識→翻訳→読み上げのフロー
  • 翻訳モデルの自動削除問題と対処法(ストレージ管理)
  • App IntentsやWidgetなど、アプリ外での応用可能性

また、実際に開発したアプリのデモを通じて、喋った内容がリアルタイムに翻訳・発話される様子をご覧いただきます。
このトークを通して、「どんな環境であろうとも瞬時に翻訳される体験」の実装方法を学ぶことで、みなさんのアプリにオンデバイス翻訳を導入する選択肢を広げていただければ幸いです。

2
レギュラートーク(20分)

楽天リーベイツ iOS アプリ:レガシーコードを一人で立ち向かう話

vince78718 Lihsuan Chen

楽天グループ株式会社が運営する「楽天リーベイツ」のiOSアプリは、2025年で9周年を迎えました。

2020年当時、8年以上にわたり運用されてきたiOSアプリを1人で引き継ぎ、数ヶ月間メンテナンスされていなかったレガシーコードに立ち向かいながら、ビジネス要件への対応、A/Bテストの実施、ユーザー体験の最適化、そしてチーム立ち上げを少しずつ進めてきました。

今回は、Biz やデザインチームの担当者と交渉しながら、iOS開発者としてどう目標を立て、どう改善を進めたか、その考え方をシェアします。最後に、これからの展望もお話しします!

レギュラートーク(20分)

10年ぶりのデザイン大刷新「Liquid Glass」を技術とデザインの両面から徹底解説!

kubomi____ kubomi

WWDC 2025で発表された 「Liquid Glass」 は、10年ぶりのデザイン大刷新です。本トークでは元UI/UXデザイナー出身のiOSエンジニアが、秋の正式リリース前の今、知っておくべきポイントを、技術とデザインの両面から解き明かします。

  • なぜ今Liquid Glassなのか?: 初代iOSのスキューモーフィズムからiOS 7のフラットデザイン、そして今回のLiquid Glassへ。Appleの技術とともに進化してきたデザインの変遷を振り返り、Liquid Glass導入の背景やAppleのビジョンを考察します。
  • Liquid Glassとは何か?: Liquid Glassは従来の“ガラス風UI”と何が違うのか?デザインと技術の融合によって生まれたLiquid Glassの本質に迫ります。
  • UIコンポーネントの変更点: UIの基本要素が実際にどう変わったのか、アイコン・コントロール・ナビゲーションの変更点を解説します。
  • Xcode 26での実装方法: .glassEffect() や .buttonStyle(.glass) などの新APIの具体的なコード例、レガシーUIへの対応手段について紹介します。
  • 実際にベータ版を触ってみた印象: 私がベータ版iOS26を実際に使ってみて感じた印象や課題を率直に共有します。
  • デザイナーとエンジニアが連携すべきポイント: UI刷新はデザイナーとエンジニアの共同作業なくして実現しません。HIGの読み解き方や、実装側が意識すべき「デザインの意図」についても解説します。

このセッションを通じて、参加者は、今押さえておくべきLiquid Glassの思想や実装方法を学ぶことができ、自アプリへの導入にすぐ活かせる実践知を持ち帰れます。

3
レギュラートーク(20分)

音声だけで家電を操る:Speech Frameworkでつくる音声インターフェース

dspeeds Masashi Kawabe

日常生活の中でスマートスピーカーのように、声だけで家電を操作する体験が当たり前になりつつあります。音声操作体験に求められる期待値も徐々に上がってきています。

iOSではSpeech Frameworkを使うことでリアルタイム音声認識を実現することができ、AVSpeechSynthesizerを使うことで読み上げを実現することができますが、実環境下で運用するためには様々な課題に直面することになります。
例えば、iPadにケースを装着したことによる認識精度の低下、Speech Frameworkが対応していないWake Word検出の実現、読み上げ時の利用可能な音声の制約、OSのバージョンによる制約, プライバシーの考慮などの課題に直面します。

このトークでは、Speech Frameworkを使って音声だけで家電を操作する機能をリリース, 運用した経験をもとに、AVAudioEngine, Speech Framework を使った音声認識の基本から、上述したような実環境下で直面する課題の解決方法までを詳しく解説します。

採択
2025/09/20 10:50〜
Track D
レギュラートーク(20分)

ハイパフォーマンスなGIFアニメ再生を実現する工夫

noppefoxwolf noppe

iOSでGIFやAPNGなどのアニメーション画像を扱うとき、「UIImageViewにセットするだけでは滑らかに再生できない」「全フレームがメモリに展開されて落ちる」といった経験はないでしょうか?
このトークでは、それらの課題を解決するために開発した軽量ライブラリnoppefoxwolf/AnimatedImageの内部構造と工夫について紹介します。
AnimatedImageはMastodonアプリDAWN for Mastodonのために設計されたハイパフォーマンスなアニメーション画像再生ライブラリです。

AnimatedImageは、標準のUIImageViewと同じ使い勝手を保ちつつ、以下のような特徴を持ちます:

  • CADisplayLinkによる正確なフレーム制御
  • メモリ消費を抑えるフレームごとのデコードとキャッシュ設計
  • 並列デコード処理を活かした描画最適化
  • APNG, GIFなど複数フォーマットのサポート

セッションでは、開発にあたっての設計判断、パフォーマンスとの向き合い方、低レイヤーAPI(ImageIO, CGImageSource, CADisplayLinkなど)の活用法を、実際のコード例を交えながら解説します。

「どうやって描画スケジューリングを行っているのか?」「標準APIでここまでできるのか?」といった疑問を持つiOS中上級者に向けて、画像表示の深層に踏み込む内容です。

アニメーション画像に関する知識だけでなく、パフォーマンスチューニングやAPI設計にも興味のある方にとって、学びの多いセッションになるはずです。

11
採択
2025/09/20 16:15〜
Track D
レギュラートーク(20分)

列車行程追跡アルゴリズムを書こう

twocentstudios Chris Trott

本セッションでは、Live Activityに現在駅と次駅を表示するiPhoneアプリを一緒に作りながら、乗客がアプリを開く必要のない体験を実現します。その道中でCore Location、Core Motion、ActivityKit、SQLiteなどのフレームワークを使います。

  1. データ収集
    まず、実際のGPSデータを収集する専用iPhoneアプリを実装します。

  2. アルゴリズムのブラッシュアップ
    収集したデータを用いてリアルタイムに予測を行う純粋アルゴリズムを開発します。検証のために、シミュレーションデータを再生できるmacOSアプリを用意します。

  3. バックグラウンド対応アプリの開発
    本番のアプリではCore Locationの「signficant change location service」を利用して自動的に起動し、バックグラウンド位置取得でアルゴリズムにデータを供給し続けます。

  4. 自動的に開始・終了するLive Activityの実装
    プッシュ通知サーバを使い、バックグラウンドからLive Activityを開始・終了させます。これにより、乗車の開始と終了に合わせてLive Activityが自動的に表示・非表示を切り替わり、ユーザはアプリを開く必要がありません。

8
レギュラートーク(20分)

実践 Live Activity ~ 大規模アプリに導入しよう ~

hamayokokuririn Kengo Saito

Live Activity は、ロック画面や Dynamic Island にリアルタイム情報を表示できる機能です。iOS 16 で登場してから毎年改良が進み、対応デバイスも拡大してきました。この機能を使用することで、ロック画面に自由な表示を行うことができるので、うまく活用することができればユーザーの利用率拡大を図ることができます。

Live Activity はリアルタイムに動くシステムのため、考慮する事項はクライアントからバックエンド、通知サーバーに至るまで多岐に渡ります。Live Activity はその考慮事項の多さから、安定的に運用するために様々な対応が必要となります。

Live Activity を最小コストで安全にリリースするために必要な下記のトピックなどを紹介します。

Live Activity の開始方法・更新方法の選択
Live Activity 利用状況の監視
Live Activity を表示している際のアプリライフサイクルの変化

この発表を聞けば皆さんのアプリにも Live Activity を実践的に導入していく方法を学ぶことができます。

1
レギュラートーク(20分)

4世代のiOSをサポートするアプリでのSwiftUI活用術

akkyie 安井 瑛男

SwiftUIのモダンで宣言的なAPIは、UI実装を効率的かつ楽しいものにしてくれます。
一方で、iOSのメジャーバージョンごとの機能差異も多く、今までUIKitで実現されていた複雑なUIを同じように実装するためには工夫が求められる場合もあります。

このセッションでは、約10年にわたって開発されてきたアプリの中の様々なUIをSwiftUIに移行してきた経験から、複雑なUIをどうSwiftUIで実現するか・SwiftUIで実現できないUIの回避方法など、大規模かつ多くの世代のiOSをサポートするアプリで使っている具体的・実践的なノウハウをご紹介します。

  • SwiftUIの得意なところ・苦手なところ
  • iOS 15やiOS 16など、過去のiOSバージョンもサポートするためのポイント
  • UIKitの使いどころ、UIKitとSwiftUIの連携パターン
  • ニッチなSwiftUI APIの活用事例
3
レギュラートーク(20分)

Kotlin Multiplatformと歩んだ5年: 導入と運用、成功と課題

akkyie 安井 瑛男

私たちのチームでは、iOS・Androidモバイルアプリの実装共通化のため、2020年頃からKotlin Multiplatform(KMP)の検証を開始し、段階的に導入を進めてきました。現在では、サービスの中心となるコンテンツを視聴する画面の多くの実装がKMPによって共通化されている状態になっています。

マルチプラットフォーム開発の選択肢としてKMPが注目される一方で、長期にわたり大規模なサービスで運用してきた事例は多くありません。本セッションでは、私たちのチームにおけるKMP導入と運用の約5年間を振り返り、以下のようなトピックについて具体的な事例を赤裸々にご紹介します。

  • KMP導入の背景とプロセス、直面した課題
  • チームの実装効率は向上した?
  • UI、ロジック、通信…どこまで共通化するべき?
  • KMPを活用しながら、Swift 6の新機能やSwiftUIの導入をどのように進めたか
  • KMPは他のチームや開発者へおすすめできる?

KMPの導入を検討している方・実際に使われている方はもちろん、アプリ開発へのマルチプラットフォーム技術の導入に関心のある全ての方の参考になるように、具体的で実践的な事例をお話しします。

2
レギュラートーク(20分)

Swift Evolutionへの第一歩!Swiftで挑むプログラミング言語自作入門

yjimpei_10 ぺいた

Swift Evolutionを眺めているうちに、「言語ってどうやって作られてるんだろう?」と気になり、試しにSwiftでシンプルな言語を作ってみました。

今はAIがコードを書く時代になってきていますが、依然として言語の仕組みを理解し、自ら構造を設計できる力は変わらず重要だと感じています。

このセッションでは、Swiftで簡易的なプログラミング言語を自作したプロセスを、字句解析、構文解析、意味解析という基本ステップに沿って紹介します。
字句解析では、Swiftのenumを使ってトークンの種類を定義し、文字列を順に読み取って意味のある単位に分解する処理を組み立てました。構文解析では、indirect enumとstructで抽象構文木(AST)を表現し、演算や代入といった構文を再帰的に解析することで実現しました。意味解析では、Dictionaryを活用して変数名と型情報を管理し、スコープごとに構造を持たせながら、型の整合性や未定義変数の検出といったチェックを行う仕組みを構築しました。

発表の最後には、自作したミニ言語も軽くお見せします。素朴な言語ですが、作る過程で得られる学びは深く、きっとコードの書き方や読み方が変わるはずです。

Swift Evolutionは遠く見えて、実は足元から始められるのかもしれません。
一緒にその第一歩を踏み出してみませんか?

3
レギュラートーク(20分)

HIGの真髄を探る:iOS開発者が知っておくべきデザイン哲学

yomoceseran 柴田 大輝

日々の開発でデザイナーさんとの会話の中で「HIG的には〜」と口にすることはあっても、果たしてその意味を深く理解できているでしょうか。HIG(Human Interface Guidelines)は、単なるデザインガイドラインではなく、Appleが長年培ってきたユーザー体験への思想と普遍的な原則が凝縮されたものです。

本セッションでは、HIGの核心となる原則に触れ、なぜHIGを遵守すべきなのか、なぜ守ると良いのかということを今一度考えて行きたいと思います。
いくつかの標準コンポーネントを例に、その裏にある意図や思想について触れ、日頃使っているものがどういった思想から形作られたのかを一通り理解した上で遵守することができれば、HIGに対する解像度を一段階上げることができると考えています。

本セッションを通じて、HIGに対する解像度を一段階引き上げ、デザイナーとの円滑な連携はもちろん、自信を持って「ユーザーにとって本当に良い」UI/UXを考えるきっかけになれば幸いです。

レギュラートーク(20分)

Swift ちゃんをもっと知ろう

yutk_941 Yu Takahashi

皆さんは Swift ちゃんと仲良く日々を過ごしていますか?

エディタで真っ赤なエラーを何回も吐かれたり、 Swift Concurrency に苦しめられたり… ギスギスしている方もいらっしゃるかもしれません。
そんな時は、 Swift ちゃんのことをもっと知ってあげましょう!

本トークでは、「Swift を使う」から一歩踏み出して、「Swift という言語そのもの」に注目します。
普段から Swift のコードを書いていても、内部構造やコンパイラの仕組みは「ブラックボックス」と感じがちですが、内部構造をざっくり理解しながら、Swift にコントリビュートする方法をステップ • バイ • ステップでご紹介します。

気に入らないエラー文を改善するもよし、既存の Issue から興味のあるものを選ぶもよし、敷居が高く見えてもコントリビュートする上では色々切り口があります。
OSS に初挑戦してみたい方や、Swift をもっと知りたい中級者に向けて、「Swift ちゃん」との距離を縮めるための第一歩をお届けします。

本トークでは、以下の内容についてお話します。

  • Swift の中はどうなってるの?
  • ローカル環境セットアップの手順
  • エラーメッセージを実際に変えてみる
  • Swift へのコントリビュートの始め方
  • 簡単な実装を通じて得た感想と学び
レギュラートーク(20分)

理解して使いこなそう!ローカルLLMの仕組みとiOSでの活用術

tattn_dev たなたつ

WWDC25で発表されたAppleのFoundation Modelsフレームワークにより、iOSアプリにおけるオンデバイスLLMの利用が現実的な選択肢となりました。
さらに、llama.cppやMLX、ONNX Runtimeなどのオープンソースプロジェクトの進化により、iOS上でのローカルLLMの可能性はますます広がっています。
iOSアプリエンジニアにとって、今がまさにLLMについて理解を深める絶好のタイミングです。

そこでこのトークでは、ローカルLLMに関して以下のトピックを中心に解説します。

•Foundation Modelsフレームワークを用いたローカルLLMの活用
•LLMのコア技術であるTransformerの仕組みと、それがチャット、マルチモーダル、ツール呼び出しといった機能をどのように実現しているか
•llama.cppやMLX等の仕組み、モデルフォーマット、量子化、最適化手法などの解説
•各技術のパフォーマンスや互換性の比較と、技術選定の指針の共有

LLMの仕組みや主要フレームワークの特徴を理解し、適切な技術選定や設計をすることで、
より優れたユーザー体験を実現しましょう!

レギュラートーク(20分)

iOSの作文関連AI処理を使いこなし、作文体験を向上させよう!

ryu_develop 中山 龍

iOS18で搭載されたApple Intelligenceの作文ツール(Writing Tools)やWWDC25で発表されたFoundation Models Frameworkなど、iPhoneにはAIによって作文や要約、公正をすることができる機能・方法が存在します。
これらの機能・方法は基本的にはオフラインで動作することで、ユーザーはプライバシーを守りながら文章力を劇的に向上させることができる強力なものです。
ですが、強力な機能であるにも関わらず作文ツールへの導線はユーザーへは伝わりづらかったり、Foundation Models Frameworkで自前実装をすべきなのか悩ましいのではないでしょうか?

本セッションでは、iPhoneで利用することができる作文関連のAIについて、

  • 各機能・実現方法の紹介
  • 特徴や制約の解説
  • 各機能・実現方法の比較

をお話しします。
このセッションを通じて、あなたが作文ツールをよりユーザーに利用していただきやすくなるようにアプリへ組み込んだり、Foundation Models Frameworkを用いて補完的に実装を行うべきかの検討ができるようになることを目指します

あなたのアプリユーザーのAI作文体験を向上させましょう!

4
レギュラートーク(20分)

iOSエンジニアの成長機会を組織で創出!『学びラボ』の立ち上げから成果まで

ryu_develop 中山 龍

近年よく「成長機会」「開発者体験」「イノベーション」などのワードを耳にすることがあると思いますが、あなたの組織ではこれらに対して取り組むことができているでしょうか?

私の所属している株式会社kubellのiOSアプリ開発グループでは、今年から「学びラボ」という新たな取り組みを開始しました。
『学びラボ』とは「通常業務とは離れて興味のある内容を自由に学ぶことができる日」を新設し、iOSメンバーの成長機会創出や、学習したことや得たアイデアなどによる業務への貢献、学びの発信による採用ブランディングなどを期待した取り組みです。
この取り組みにより、iOSエンジニアが作成したプロトタイプの機能が実際のプロダクトへ取り込まれたり、学んだことを外部登壇で発信したりといったような成果が出ています。

本セッションでは『学びラボ』について

  • きっかけや立ち上げ
  • 運用方法や取り組みの様子
  • 実際に取り組まれた内容・テーマ
  • 得られた効果(事例や定量的な計測結果、他職種とのコラボレーション)
    などについてお話しします。

組織として成長機会の創出や開発者体験向上、業務改善を推進したい方は必見です!

6
採択
2025/09/20 15:40〜
Track B
レギュラートーク(20分)

高セキュリティ要件を満たすためのiOSアプリ開発:MASVS v2.0.0対応から学ぶ実践知見

ystg1302 あんとにー

近年、行政や金融など高いセキュリティ基準が求められるサービスと連携するモバイルアプリでは、サーバーサイドだけでなくクライアント(iOSアプリ)側でも厳格なセキュリティ対策が求められるようになっています。私たちのプロジェクトでも、外部サービスとの連携に際して、国際的に認知されたモバイルアプリセキュリティ標準であるOWASP MASVS(Mobile Application Security Verification Standard)v2.0.0に準拠する必要がありました。

本トークでは、「なぜ今、iOSアプリにおいてクライアント側のセキュリティ対策が必要なのか?」という背景を出発点に、MASVSの概要やMASプロジェクト全体の構成、そしてMASVS対応において実際に行った対策を具体的に紹介します。また、標準やベストプラクティスに対してどこまで実装で落とし込むべきかという現実的な判断や、運用・開発体制に与えた影響、対応を通じて得られた気づきもあわせて共有します。

クライアント側のセキュリティ対策という難題に挑んだ実例として、これから同様の取り組みを検討する方や、セキュリティ設計に関心のあるiOSエンジニアの皆さんにとって、有益な知見を持ち帰っていただくことができます。

9
採択
2025/09/19 18:30〜
Track D
レギュラートーク(20分)

AccessorySetupKitで実現するシームレスなペアリング体験

n3k0w3n nekowen

Bluetooth の権限管理、スキャン、接続処理…。
Core Bluetooth を利用した Bluetooth デバイスとの接続フローの実装は、多くの開発者にとって悩みの種です。
ユーザーにとってもペアリングを完了させるまでに手順を踏む必要があり、決して快適な体験とは言えません。

誰もが一度は「AirPodsのように、もっと簡単にデバイスを接続できたら…」と考えたことがあるのではないでしょうか。

その理想を現実にするのが、iOS18 で登場した AccessorySetupKit です。
AccessorySetupKit を活用することで、これまで作り込んできた複雑な接続フローを OS標準のUIを使用してシームレスに提供できるようになります。

本セッションでは AccessorySetupKit で何が実現できるのか活用事例を紹介し、具体的な導入手順と実装にあたってつまづいた点まで実践的な知見を共有します。
本セッションを通じて、皆さんのアプリでペアリング体験を改善するきっかけやヒントを得ていただければ幸いです。

3
レギュラートーク(20分)

大規模なデータ基盤移行プロジェクトを型安全に進める

satoshin21 satoshin21

運用中のプロダクトでデータ基盤を大幅に変更する必要が生じたとき、どのようにリスクを最小化しながら移行を進めますか?
本トークでは、月間アクティブユーザー数万人規模のiOSアプリで実際に行ったFirestoreからの大規模データ基盤移行プロジェクトの実践事例をお話しします。

特に以下の課題にフォーカスして解決策を紹介します:

  • 新機能開発を止めずに基盤移行を並行実施する方法
  • ユーザーへの影響を最小化しながら段階的に切り替える仕組み
  • 移行中の不具合を早期発見・切り戻しできる安全装置の設計

技術的なポイント:

  • Feature Flagによる動的なデータソース切り替えアーキテクチャ
  • 旧新システムの型安全な分離

このトークを聞くことで、大規模な基盤変更プロジェクトを安全に進めるための具体的な手法と、実際の運用で直面した課題とその解決策を紹介します。特に、チーム開発やプロダクト成長を止めることなく技術的負債を解消したいiOS開発者の方に役立つ内容です。

1
レギュラートーク(20分)

新卒二年目が語る、"なんとなく"を卒業するためのSwift Concurrency基礎

nandy_pj こん

「とりあえずTaskで囲んでみたけど、これで本当に良いんだろう?」
「@MainActorを付けたらエラーは消えた。でも、なぜ?」
Swift Concurrencyを学び始めた頃、私はそんな"なんとなく"の不安でいっぱいでした。その一行に、確かな「なぜ」を答えられますか? このトークは、過去の私と同じように非同期処理の前に立つあなたのためのセッションです。新卒2年目の私だからこそ、ベテランが通り過ぎてしまう初学者の「なぜ?」に光を当て、"なんとなく"を"確かな意図"に変える旅にご案内します。

このセッションでは、よくある"なんとなく"なコードが、なぜ問題なのか、そしてどうすれば「意図を持った」コードになるのかを、具体的なシナリオと共に解き明かします。

  • async/awaitの価値: "コールバック地獄"から、上から下へ読める素直なコードへの変革
  • Taskの責任: "野良タスク"の危険性と、TaskGroupによる責任ある並行処理
  • Actorという金庫: Data Raceから共有データを安全に守る具体的な方法
  • Sendableという通行証: 意味不明なエラーから読み解く、コンパイラの意図
  • @MainActorという誓約: "お守り"ではない、UI更新の掟を守るための神聖なルール

このトークが終わる頃、あなたは「"なんとなく"」書いていたコードに、確かな「意図」を込められるようになっています。明日からのプロジェクトで即実践できる非同期処理の書き方を身につけましょう。

2
レギュラートーク(20分)

クラウドでカロリー管理: SwiftDataとCloudKitの活用法

monolithic_adam Adam Henry

「痩せたい!」と考えている方々へ、シンプルで効果的なカロリートラッキングアプリを自作してみませんか?
多くの市販アプリはアカウント登録やサブスクリプションが必要ですが、自分のニーズに合わせたアプリを作ることも可能です。

このトークでは、SwiftDataとCloudKitを活用して、バックエンドの負担や費用を気にせず、Appleアカウントで簡単にデータを同期させる方法をご紹介します。

  • SwiftDataとCloudKitのセットアップ手順
  • SwiftData/CloudKitを使用する際の注意点と選択時に知っておくべきポイント

このセッションを通じて、あなたのアプリ開発を一歩前進させましょう。

1