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

VisionFrameworkとARKitで拡張現実な名刺アプリを作る

zit247 zit247

VisionFrameworkは顔認識や文字認識の処理ができるAppleが公式にサポートするフレームワークです。
iOS16から文字認識機能に日本語が対応しました。 日本でもアプリに応用しやすく、活用できる場面が増えそうですね。

このセッションではVisionFrameworkとARKitを使って名刺の情報を読み取り、拡張現実に情報が浮き出てくる名刺アプリの実装をお話しします。

・VisionFrameworkの使い方
・文字認識の難しいところ
・ARKitでの3Dオブジェクトの表現
・エンジニアに刺さる名刺の作成

一見複雑そうな画像処理やAR表現をわかりやすく解説します。
最新技術を使った創造的な名刺を作ってみたくありませんか?

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

今こそCoreData

coffeegyunyu 日向強

WWDC 23で、新たにSwiftDataが発表されました。
これは新たにSwiftでデータを永続化できる仕組みで、データのクエリやフィルターなどを備えたものになっています。
また、同じくデータ永続化に使われるCoreDataですが、CoreDataで定義されたモデルをSwiftDataに変換できることも発表されています。

本セッションでは、そんなCoreDataにスポットをあて、CoreDataで使うことのできるさまざまな機能をご紹介します。
CoreDataを扱ったことのない人でも、SwiftDataへの移行の足掛かりとして参考にしていただければ幸いです。

  • SwiftUIとの連携
  • Derived attribute
  • NSComparisonPredicateなど複雑なクエリの作成
3
レギュラートーク(20分)

iOS17で音声はどのように変わっていくのか?

entaku_0818 entaku

このセッションでは、今までのiOSでの音声技術とiOS17がもたらす最新の音声技術の導入についてお話しします。
iOS17ではAVAudioEngineのVoice処理や AirPlay / AirPodsなど多くの音声関連のアップデートがありました。
今までとこれからの音声技術を通じて今後の音声技術について話していきたいと思います。

トピック
1.今までのiOSの音声技術

  • AVAudioEngineやAVAudioPlayer/AVAudioRecorderの話
    2.iOS17で導入される新しい音声技術
    • SharePlay
    • AVAudioEngine
    • AirPlay / AirPods
      3.新技術の導入によってどのように変わるのか?
5
レギュラートーク(20分)

UIHostingViewを活用して実現するUIKitとSwiftUIの融合

tmyk110 伊藤智行

SwiftUIをUIKitで作成された複雑な画面にも活用してみませんか?

私の経験から、Storyboardを使用した画面はメンテナンス性や再利用性に課題を抱えています。しかし、SwiftUIで独立性の高いコンポーネントを作成することで、これらの問題を解決することができます。

UIHostingViewを使えば、UIKitの既存の画面においても、SwiftUIのコンポーネントをシームレスに組み込むことができます。これにより、従来のコードを一から書き直すことなく、新しいユーザインターフェースを実装することも可能です。

このセッションでは、具体的なコード例や実際のプロジェクトでの活用事例を共有します。参加者の皆さんが自身の開発において新たな可能性を見つける手助けをしたいと思っています。

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

OpenAI vs Apple - iOSにおける音声認識を極める

shu223 堤 修一

近年、GPTをはじめとするLLMによってAIとのテキストコミュニケーションが爆発的に進化しました。我々が日常的に使う「音声」とテキストの橋渡しを担う重要技術が音声認識です。

iOSにおける音声認識は長らく進化が止まったままでしたが、iOS 17になり、カスタム言語モデルがサポートされ、一気に実用性が増しました。一方で、OpenAIによるWhisperもCore ML対応版が出ており、サードパーティーながら標準フレームワークより魅力な点も多くあります。

本トークでは、音声認識のしくみを理解し、カスタム言語モデルを作成して特定の分野や用途に沿って性能を改善する方法について学びます。またサードパーティー製エンジンとも比較し、ユースケースに合わせて最適な技術選定が行えるようになるでしょう。百見は一聞にしかず、デモも行います。

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

近年のプライバシーアップデートの概要と対策

akatsuki174 akatsuki174

近年のWWDCを見ていると、プライバシーに関するアップデートが多くなっています。今年のWWDCでも例えばプライバシーマニフェストが新登場するなど、その流れは止まりません。毎年アップデートがあるとキャッチアップも大変ですよね。とはいえキャッチアップを怠っているとアプリのリジェクトリスクにも繋がってきます。

そこで、このトークでは以下の内容をカバーします。

  • 近年のプライバシー関連のアップデート
    • 概要、影響範囲
    • 実装方法
    • 関連する審査ガイドライン

これからiOSアプリ開発をする人、プライバシーに関する最新情報をキャッチアップしたい人にぜひ聞いてほしいです。
※WWDC23の内容については公開情報以上のことは話しません。

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

iOSデプスの基礎と応用 - そしてvisionOSへ

shu223 堤 修一

iOSDC 2018でデプスについて解説して早5年。今やLiDAR搭載デバイスも登場し、APIも当時より遥かに充実しています。

本トークではデプスの基礎から始めて、デモアプリの実装を通して実践的なデプスの取り扱いについて学びます。最終的にはCinematic ModeやRoom Olan、Object Capture、ARKitのオクルージョン、そしてvisionOSのSpatial Computingといった最新のデプス応用についても理解が深まるでしょう。

我々は長く2Dスクリーンの中でアプリを作ってきましたが、生きているこの世界は3次元です。今こそデプスをマスターし、2Dスクリーンの世界から飛び出して「奥行き」が存在する世界で新しいユーザー体験をつくっていきましょう。

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

iOS17のWidgetで実現できることの限界を探る

tsuboyan

このトークは、WWDC'23にて新たに発表されたiOS「17」のWidgetにフォーカスしたものになります。

今回、インタラクティブ性の強化がアナウンスされたウィジェットですが、私たちは何がどこまで可能になったのでしょうか。そんな疑問を探るため、我々はアマゾンの奥地に... (中略) ...新しいWidgetKit APIの機能と制限について、実際に触りながら検証していきます。

▼ アウトライン (検討中)

  • 簡単にこれまでのWidgetKitの歩み
  • 新たにWidgetKitに追加されたAPIについて
  • 新たにできるようになったこと / できないこと
  • iOS / iPadOS / watchOS / visionOS ごとの活用方法
  • デモ
  • 今後の展望について
2
レギュラートーク(20分)

Javaに学ぶSwift Macroのやりすぎない使い方

RyuNen344 RyuNen344

Swift MacroはSwiftUIで既に使用されていますが、今後サードパーティのMacroを使用する機会が増えるでしょう。
Macroは構造体やクラスを手軽に拡張することができ、JavaやKotlinのAnnotation Processorを連想させます。
Javaでの開発においてAnnotation Processorは既に必須機能の一つとなっていますが、多用することで度々Annotation Hellと揶揄されることもあります。
Swift Macroが今後さらに普及される際にMacro Hellと揶揄されない適切な量の使い方をJava、KotlinのAnnotation Processorを先例としてお伝えします。

  • Annotation Processorとの類似点
  • Annotation Hellに陥った例
  • 今後期待される粒度の使い方
5
レギュラートーク(20分)

Printers to Payments, Hardware連携のあるある

monolithic_adam Adam Henry

本トークでは、STORESレジが対応しているハードウェアの紹介から、実装における課題とその解決法、運用時に起きる問題と対処方法まで、ハードウェア連携に必要な知識を解説します。

内容:

  • まず、STORESレジが対応している・どんな感じで使われているかを紹介
    • Printer, Barcode Scanner, 決済ターミナル, など
  • 実装を見てみましょう!
    • 安心してくださいConcurrency対応していますよ!
  • 運用・日々に問題が起きた時の動き

トークを聞いてくださった皆さんにHardwareを興味を持ってもらえればHappyです。

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

NavigationView -> NavigationStackのマイグレーション方法

monolithic_adam Adam Henry

もうNavigationViewの終わり見えているよね、、、
それを向けてみんなはどう向き合っていくべきかはまだ迷っている人いませんか?!

このトーク見ればもう迷わない・進む道はもう明確になる!
内容:

  • NavigationView -> NavigationStackの詰まるところ
    • NavigationViewで使えていたワークアラウンドが使えない?!
    • など
  • 一発対応・段階的な置き換えも可能!
  • Navigationの未来
3
レギュラートーク(20分)

Let's setup Xcode Cloud!

monolithic_adam Adam Henry

みんなCI/CD迷ってますか〜?

このトークで話題のXcode Cloud一緒にセットアップしてみましょう!
Live Codingで0からArchiveまでアプリのCI/CDをセットアップ!

証明書の手間・ファストレーンのスクリプトは不要!最高!
簡単なワークフローなら選択肢はもうひとつしかない!

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

xcodeprojectへの理解を深める20分間。なんとなくな知識を確実なものにしませんか?

tosh_3 tosh

xcodeprojのこと、どのくらい理解していますか?
よくコンフリクトするファイルのイメージの人も多いかもしれません。

しかし、実際にはここにはたくさんの情報が詰まっています。
例えば、Previewが特定のTargetの時だけ、コケてしまう、そんな時にログからはすぐに原因が身に付かなくても、これを読めるだけで解決に近づくそんな経験がありました。また、ここを読めるともしかしたら、わざわざXcodeにProjectを落とすことなく細かい設定まで確認できるようになったりします。
ビルドなどの仕組みを知る上でどういった情報が詰まっているのか、一緒に見て行きませんか?

内容

  • pbprojの大項目について
  • StoryboardとSwiftUIで作成した時の生成物と
  • CocoaPodsの導入によって、どのような変更が組み込まれるのか
  • Package.swiftとの違い
3
レギュラートーク(20分)

iOSネイティブから見たFlutter : 同一アプリにおけるパフォーマンス比較

shoryu927 辰べえ

昨今のモバイルアプリケーション開発において、FlutterやReact Nativeなどのクロスプラットフォームも注目を集めています。
これらのフレームワークはiOSネイティブと比較した際に、どの程度のパフォーマンスを発揮し、またどのようなプロジェクトにおいて最適な選択となるのでしょうか?

本発表では実際に同一のモバイルアプリケーションをiOSネイティブとFlutterそれぞれで開発することで、UIの反応性や処理速度等のパフォーマンスの比較分析を行い、iOSネイティブとFlutterのパフォーマンスがクリティカルに異なるケースを明らかにします。

ご覧いただく皆様が技術選定を行う際に、本発表が根拠の1つとして助けとなれば幸いです。

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

数学の視点でプログラムを見たら 〜モノイドと準同型編〜

ta_ka_tsu ta_ka_tsu

数学の「代数学」と呼ばれる分野には「群」「環」「体」など、演算の性質に共通する性質を抽象化して考える枠組みが多くあります。
抽象化!まさにプログラマーが追い求めるものではありませんか!

本トークではその中でも「モノイド」および「準同型」という比較的シンプルな概念の紹介をします。
この視点で見てみるとプログラムの中にも同様の構造を持つものが数多く存在することがわかります。

この「モノイド」と「準同型」がどのようなものかについて、主にコードを例に挙げながら説明し、
・なぜ空配列をallSatisfyに渡すとtrueが返るのか?
・なぜCGRectにはCGRect.nullやCGRect.infiniteが存在するのか?
などのトピックについても触れたいと思います。

本セッションを聴くにあたり、数学の前提知識は必要ありません。
ぜひ一度、少し違った視点からプログラムを見てみませんか?

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

数学嫌いでもパターンを覚えれば怖くない!3Dのための行列入門

na9ain nagain

WWDC23で、Spatial ComputingというキーワードとともにvisionOSの発表がありました。これを機に3Dに興味を持った方も少なくないのではないでしょうか。

3D空間において、例えば、ゲームでお馴染みのホイールUIを指や顔の向きで操作したいとき、素朴に思い浮かぶのはposition(座標)やrotation(回転角)を計算する方法でしょう。しかし、このような複雑な操作を実現したい場合、transform(行列)を計算することでシンプルに解決できることが多いんです。

「行列?数学チックでなんかやだな」

お待ちください。本トークでは、数学の深淵には踏み入りません。visionOSでも使われるARKit・RealityKitを題材に、頻出の計算パターンと、そのパターンを使った実装例を動画を交えて紹介します。数学とは極力距離を置きつつ、行列を実戦で使えるようになりましょう!

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

ウィジェットの可能性に心を躍らせる!iOS 17未満でもウィジェットのインタラクティブな動作を実現する方法

littleossa リルオッサ

WWDC 23において、iOS 17からウィジェットのインタラクティブな動作がサポートされることが発表されましたが、すでにインタラクティブ風に動作するウィジェットアプリを開発している私としては、「やっとAppleも追いついたか」と感じています。

このトークでは、iOS 17以降に限らず、ウィジェットをインタラクティブ風に動作させる方法についてご紹介します。

具体的には以下の内容に焦点を当てます。
・ iOS 17未満でもウィジェット上で動作するタスク完了ボタンの実装方法
・ ウィジェット上で動作するテキスト入力可能な検索フォームの実装方法
・ iOS 17以降のインタラクティブ風ウィジェットの未来展望

ウィジェットの可能性に心を躍らせ、具体的な事例と共にさまざまな実現可能性やインスピレーションを感じていただけるようなトークにしたいと思っております。

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

XCTest(UI Testing)の活用をさらに加速させよう

tarappo tarappo

XCTest(UI Testing)は、アプリのUI要素に対して何かしらのアクションをおこなうことがメインのAPIでした。
しかし、iOSは進化しており、アプリを操作するだけではいろいろなテストをカバーすることがむずかしくなっています。

そこから、いろいろなAPIが徐々に提供されてきています。
たとえば、実行する端末に対して操作をするAPIも増えてきています。

また、UI Testingの進化だけではなく、それを活用する環境も進化してきています。
たとえば、自動テストの運用といった観点での機能追加も増えています。

そこで本トークではUI Testingをより活用できるように次について話していきます。

  • UI Testingの提供するAPIについて
  • テストの失敗をいかに効率よく発見し、対応をするか
  • テストの実行速度をいかに最適化するか
  • テストの実行環境の活用
8
レギュラートーク(20分)

未来を先取り!visionOSで空間コンピューティング時代のアプリを開発しよう

TAAT626 TAAT

WWDC 2023でついに、Apple初のヘッドセット端末であるApple Vision Proが発表されました!
Macがパーソナルコンピューティングを切り拓いたように、iPhoneはモバイルコンピューティングを、そして今度はVision Proが空間コンピューティングを切り拓いていくでしょう。

Apple Vision Proの発売は来年予定ですが、このトークでは一足先にvisionOS向けに空間コンピューティングのアプリ開発について紹介します。具体的には、visionOSでどのようなアプリを作れるのか、空間デザインや空間インターフェイス、どのように空間コンピューティングのアプリ開発を始めればいいのか、既存のiOSやiPadOS、Unityアプリの空間コンピューティングへの対応方法、などについて詳しく解説します。

一緒に空間コンピューティング時代の幕開けに備えましょう!

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

SwiftUIで作るコーチマークとTipKit

komaji504 komaji

アプリの機能を説明する手法は様々ありますが、コーチマークもその一つです。

コーチマークとは、オーバーレイで特定の機能にフォーカスさせつつその使い方を説明する手法です。これを実現するためには、フォーカスさせるViewの座標やサイズといった情報をView間で取り回す必要があり、複雑なView階層を持つ場合は実装もまた複雑になってしまいます。さて、SwiftUIではどのように実装するのがスマートなのでしょうか。

また、WWDC2023ではユーザに機能を説明するためのコンポーネントを提供するフレームワークとしてTipKitが発表されました。このフレームワークを活用することで、機能説明の幅が広がることでしょう。

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

  • コーチマークとは
  • SwiftUIにおけるコーチマークの実装例
  • TipKitでできること
  • TipKitを用いた実装例
6