iOSDC Japan 2021
2021年9月17日開催 / 発表資料 91 本
asa08
agoraを使い少人数・1ヶ月半でライブ配信を実装した事例。機能分担、コメント設計、配信検知やレイアウトなどの課題と解決が分かる。
- オーディオ波形を表示するために知っておくべきことスライド動画
八十嶋祐樹
オーディオ波形を綺麗かつ軽く表示するための知見。音声データの仕組み、間引き方、大量ファイルやスクロール時のパフォーマンス対策が分かる。
- 大規模リファクタリングの極意スライド動画
Yosuke Imairi
JapanTaxiとGOアプリでの二度のリアーキテクチャ経験から、案件開発と並行した大規模リファクタリングの進め方、準備、自動化、リリースの要点が分かる。
飯田 諒
500万人利用のアプリでDBをSQLiteからFirestoreへ9カ月かけて移行した経験談。理由、手順、失敗と成功、得られた学びが分かる。
マイケル ピートリー
Swiftを使ってスタックメモリの基本と落とし穴を解説。C連携時の注意点や、スタック問題のデバッグ・回避方法が分かる。
遠藤拓弥
配送ドライバー向けアプリをネイティブからFlutterへ完全移行した経験をもとに、移行の理由、計画、直面した問題、残った課題が分かる。
Akifumi Fukaya
SwiftUIとCombineで作った本番アプリを1年運用した経験談。採用したアーキテクチャ、開発中の問題点、運用で分かった長所と短所が分かる。
kenmaz
テスラ車を購入して調べた非公式APIの内容と、iOS/Apple Watchアプリ開発の事例を紹介。将来の車載アプリ開発の可能性を考える材料になる。
Hiromu Tsuruta
ラクマのiOSアプリで運用するCompositional Layoutsを中心に、Combine・SwiftUI導入やレガシーコードのリファクタリングの取り組みが分かる。
重村 裕紀
連結従業員4000人超の老舗エンタメ企業GENDAが進めるテクノロジー活用の挑戦と、モバイルアプリの活用事例が分かる。
くろるり
複数サービスの品質を揃える組織横断チームと、質問票による定期健康診断の取り組みを紹介。現状把握と品質改善の進め方、残る課題が分かる。
AkkeyLab
SwiftUI95%超で1人2ヶ月でアプリをリリースした実例。採用理由、レイアウト技法、UIKit併用、未対応ライブラリの注意点が分かる。
Ikuhide Kinoshita
iOS未経験のエンジニアがUnity as a Libraryでアプリを開発した経験談。採用条件、組み込み方法、Swiftとの連携、ビルド自動化のコツが分かる。
ああうえ
iOSとAndroidで共通利用できるデザインシステムの実装事例。Figmaからの書き出しやKotlin Multiplatform Mobileによる共通化の進め方が分かる。
酒井文也
動画プレイヤーアプリ開発で得た知見から、再生操作、バックグラウンド音声再生、Picture in Pictureなど基本機能の実装要点が分かる。
- 振り返りながら学ぶPackage Managerスライド動画
jollyjoester
CocoaPods、Carthage、SwiftPMの仕組みと特徴、iOSでの進化の歴史を整理し、状況に合ったパッケージ管理の選び方が分かる。
林和弘
Source Editor ExtensionとSwiftSyntaxを組み合わせ、Xcode上で実装中にコードを自動生成するツールの作り方と、リファクタリング支援の事例が分かる。
Ryo Ota
サブスクリプション型アプリのサービス終了を実体験から語る。終了時の考慮点やフロー、App Store Connectでの操作が分かる。
nakamuuu
iOSアプリでeKYCを自前実装した経験談。Vision.frameworkやML Kitを使った撮影体験の工夫、設計方針、運用で得た効果と課題が分かる。
Takeshi Yokokoji
レジアプリ「STORES レジ」でのハードウェア連携の実例。CoreBluetoothやExternal Accessory、MFi申請の流れと、ハマりどころが分かる。
生井智司
アラビア語など多言語対応のApp Storeスクリーンショットを、SwiftUIを描画エンジンにしたSwift製CLIで自動生成する知見と利点が分かる。
岸川克己
Network ExtensionでVPNクライアントとサーバをiOS端末内に実装し、UDPも含むパケットキャプチャを行う方法と、ゲーム通信解析への応用が分かる。
古都こと
React Nativeでの状態管理の難しさを、状態とは何かから整理し、制御できない状態への実践的な向き合い方を経験に基づいて共有する。
- 日本語でもいい感じに改行したい!!スライド動画
trickart
日本語の文章で単語の途中改行を防ぐ方法を解説。MeCabによる形態素解析と制御文字を使った単語検出の実装が分かる。
あおい
機能単位で単体起動できるミニアプリをマルチモジュール構成で作り、動作確認のビルド時間を短縮した話。仕組み、導入効果、チームへの定着策が分かる。
Manami Ichikawa
薬局アプリkakariとクリニックアプリ間のアプリ連携で登録を簡略化した事例と、Firebase Dynamic Linksを使った実装方法が分かる。
- Appleプライバシー保護の最新事情と適応戦略スライド動画
Terasaka
Appleのプライバシー保護の考え方とWWDC 2021の最新情報を整理。ATTやプライバシー表示など、アプリ開発者が対応すべき事項と適応の考え方が分かる。
- StoreKit のこれまでとこれからスライド動画
uzzu
従来のStoreKitの扱いにくさを振り返り、WWDC21で発表されたStoreKit 2でアプリ内課金のAPIがどう変わるかが分かる。
- iOSではじめるWebAR 2021スライド動画
HEAVEN chan / ikkou
iOS上のWebARの現状を、WebXR Device APIやmodel要素の動向、事例、開発手法から解説する。Safariで何ができるかが分かる。
- 実践 iOS オープンソースプロジェクトの始め方スライド動画
Yoshimasa Niwa
Twitter Text Editorの公開経験から、iOSライブラリをOSSとして公開する際のAPI設計、バージョン管理、CI、ドキュメント、Issue運用の勘所が分かる。
ばんじゅん🍓
Apple Watchの文字盤ファイルを題材に、独自形式や癖のある日付・キー名をSwiftのCodableで整然と読み書きするテクニックを学べる。
服部 智
100日間のAR実装チャレンジから、LiDARを使った色付けや顔ペイント、視線トラッキングなど面白い表現をデモとコードで解説する。
oishi
MDMとManaged App Configurationで業務用iOSアプリの初期設定を自動化する方法。実装と設定のやり方、活用法が分かる。
かっくん
noteのiOSアプリでVoiceOverやDynamic Typeに対応した経験。利用者の声から課題に気づき、実装で対応した過程と学びが分かる。
ぼぶ
ARKitとCoreMLによるバーチャル背景の2つの実現方法を、性能面の比較や本番導入・申請時のtipsとともに紹介する。
OhayouKenchan
自動更新サブスクリプションで無料トライアルやプロモーションオファーが重なった際、課金ステータスやレシートがどう変わるかを整理して解説する。
アイカワ
Combineを使うコードのテストが難しくなる問題を、combine-schedulersで時間を制御して解決する方法とその仕組みが分かる。
Chica Matsueda
MediaPipeで端末上推論するARアプリ「かざして売れるかチェック」の開発事例。iOS Framework化、電池消費の削減、モデル軽量化の工夫が分かる。
稲見 泰宏
Swift 5.5のasync/awaitの裏にあるモナド、継続、コルーチンを関数型プログラミングの視点で解説。仕組みの理論的背景が分かる。
そな太
SwiftUIとGraphQLで宣言的UIの状態管理を整理し、Fluxからの歴史やクライアントキャッシュ、Fragment Colocationによる設計が分かる。
nade
リリース7年の肥大化したアプリを25%以上圧縮した経験から、効果のあった施策と、サイズ増加を防ぐ運用上の工夫が分かる。
Kyome
Finder Sync Extensionで右クリックメニューを拡張するMac向けツールの作り方。できること、常駐アプリ、実装、デバッグ方法が分かる。
FromAtom
Appのプライバシー回答とATT対応を、複数アプリと社内データ基盤を横断して進めた経験談。データの流れを把握する調査プロジェクトの苦労が分かる。
FromAtom
iOSDCのデザインスポンサーを担当した経験から、やること、スケジュール、事前準備、難しさを紹介し、引き受ける際の判断材料を得られる。
haseken
iOS 15の通知要約・集中モード・Interruption Levelが通知配信に与える影響を考察。リリース後の通知戦略を見直すヒントが得られる。
HEAVEN chan / ikkou
SafariのExperimental Featuresに並ぶ実験的なWebKit機能を、iOS 14.x時点で概観し注目機能を解説する。model要素などの現状が分かる。
akatsuki174
約半年かけて集めた鯖落ち時のエラー画面から、ダメな500系エラー画面と親切な画面の違いを分析する。作るべき画面の要素が分かる。
kiwi
HomeKit非対応のSwitchBotをホームアプリから操作するために試した記録と、実現できたこと、HomeKitでさらに遊ぶヒントが分かる。
ななしき
挙動が不安定になりがちなSwiftUIアプリを、UITestで課題解決しながら安定運用する方法と、実運用で直面した問題が分かる。
Kenzo Nirasawa
ホットペッパーグルメの大規模アプリにKMPを導入してロジックを共通化した際の課題と解決策を、iOSエンジニア視点で知ることができる。
Hajime Nakamura
スタディサプリの新規開発でFull SwiftUIを採用した経験から、中規模以上のアプリでの実現方法、課題、メリットが分かる。
大坂 陽
タウンワークのiOS/Androidアプリ開発でオフショアチームと協業する体制の成り立ちと、コード上で直接やり取りする進め方が分かる。
Shunsuke Sasaki
ゼクシィの大規模iOSアプリにDesign Systemを導入した背景と、コミュニケーション改善、開発者体験向上、実装方針が分かる。
- LiDARを活用したARアプリを作ろうスライド動画
TokyoYoshida
iPhone/iPad ProのLiDARで何ができるかと、iOSアプリからその機能を使ってARアプリを作る方法を解説する。
日向強
アプリがバックグラウンドで終了されても状態を復元するリストア機能を解説。Storyboard、SceneDelegate、SwiftUIそれぞれの実装ポイントが分かる。
- ランタイムデバッグのススメスライド動画
noppe
アプリ画面に常時パフォーマンス情報を表示するランタイムデバッガーの考え方を解説。自作例から作り方と運用のコツ、問題発見への活かし方が分かる。
所友太
iOS 15のSharePlay/Group Activitiesで何ができるかを紹介し、画面共有・動画共有・カスタム共有をアプリに組み込む方法が分かる。
- 自己管理の夢と Screen Time APIスライド動画
yujif
iOS 15のScreen Time APIでできることと限界を、自己管理アプリ開発の経験から紹介。時間管理アプリでの活用可能性と課題が分かる。
shiz
Swift Concurrencyの全体像、内部の仕組み、GCDとの違いを入門的に解説。学び始める際の最初の一歩と最新の議論の動向が分かる。
treastrain / Tanaka Ryoga
日付・数値・単位・名前などをStringにする標準Formatterの全体像と使用例、避けるべき使い方を解説。独自実装を減らしi18n対応も確実にできる。
marica
iPhone 12 Pro以降のLiDARを使い、暗所でも速いオートフォーカスと背景ぼかしを備えたカメラアプリを作る。AFの方式差と実装の勘所が分かる。
- 元ゲーム開発者が贈る描画パフォーマンス改善スライド動画
Iceman
UI描画の基本原理をFlutterとMetalから紹介し、影の描画を題材にUIKit/SwiftUIで使える描画パフォーマンス改善の実践テクニックが分かる。
- 大規模なアプリのマルチモジュール構成の実践スライド動画
giginet
約30モジュールに分割した大規模iOSアプリの実践例。構成設計、依存解決、チームへの浸透策までマルチモジュール開発の実情が分かる。
久保出雅俊
WantedlyがKotlin Multiplatform Mobileを約1年運用して得たメリットと、iOSエンジニアから見た導入時のつまずきや障壁が分かる。
Kikumaru Koga
ノーコードのアプリプラットフォーム開発で、ストア申請の自動化や複数アプリを作れる仕組みゆえの課題と対処法が分かる。
log5
登場から1年経ったApp Clipsの狙いと機能を整理し、ビルドやテストの方法、SDK対応のTips、今後の展望が分かる。
sato-shin
Date型がタイムゾーンや夏時間の計算に向かない理由と、DateComponentsで日付計算を直感的に行う使い方が分かる。
いまじん
Multipeer Connectivityで端末間の動画プレビューやファイル転送を行った料理動画アプリの事例。導入理由、工夫、スループットの限界が分かる。
- WidgetKitで良い体験を作るにはスライド動画
たなたつ
WidgetKitで実現しにくい動作や更新タイミングの制限を、実装とレビューの経験から解説。良いウィジェット体験を作る知識と工夫が分かる。
to4iki
UICollectionViewのレイアウトとデータソースの選択肢を、具体的な事例ごとに整理し、ケース別に最適な組み合わせを選ぶ指針が得られる。
- AVPlayerできちんとコンテンツ保護スライド動画
なめき ちはる
AVPlayerのコンテンツ保護の仕組みをFairPlay Streamingを中心に、再生・配信・ダウンロード・AirPlayまで幅広く解説し、動画配信を支える技術が分かる。
千吉良 成紀
Broadcast ExtensionのクラッシュをスタックトレースとdSYMから解析し、SwiftUI製Macアプリで集計・高速化した事例。クラッシュ修正の進め方が分かる。
Takuya Yokoyama
POSレジアプリの開発を通じ、SwiftUIとGraphQLが頻繁な仕様・UI変更にどう強いかを紹介。コンポーネント化やコード生成自動化の実例が分かる。
ジョシュア・カプラン
UICollectionViewの近年の進化を整理し、SwiftUIのGrid/Listとの使い分けを解説。UITableViewから移行すべき理由と最新APIの活用法が分かる。
Byungjun Park
大規模アプリの文言管理の課題と、ローカライゼーション管理プラットフォーム導入の経緯を紹介。Lokalise、Phraseなどの比較と効果が分かる。
Daiki Matsudate
Swift Packageを中心にXcodeプロジェクトを構成し、マルチモジュール化とコンフリクト解消を図る方法と移行手順が分かる。
Yuta Koshizawa
Swift 5.5のasync/awaitやactorで、iOSの非同期処理コードがどう変わるかをBefore/Afterの具体例で学び、各機能の使いどころが分かる。
hak
YouTubeチャンネル企画の特別回。視聴者の質問にhakさんとtomzohが答え、コンピュータサイエンスや雑談を楽しめる。
- iOSアプリのセキュリティ基礎スライド動画
saten
iOSアプリで押さえるべきセキュリティの基本を解説。通信の暗号化、URLスキームの脆弱性、機密情報の保存先、認証フローの違いが理解できる。
rokuroku
オフライン編集可能なテキストエディタ向けに作った端末間同期システムの設計、Azure Functions構成、DB設計のコツ、iOS固有の事情が分かる。
ring
SceneKitをUIKitに組み込み、通常のアプリでもリッチな3D表現やアニメーションを簡単に実現する方法と導入事例が分かる。
Tamappe
SwiftとDartのasync/awaitを比較し、言語仕様の違いによる書き味や使い勝手の差、FlutterとネイティブアプリでのAPI通信の書き方が分かる。
明渡麻衣花
Studyplusの事例で、対話設計を絞り込んだSiri Shortcutsカスタムintentの実装要点を解説。アクション選定、パラメータ設計、エラー処理が分かる。
ばんじゅん🍓
CCSなど並行計算の理論を5分で紹介し、非同期処理を状態遷移として捉える考え方から、挙動把握に役立つ抽象化のヒントを得られるLT。
服部 智
映像伝送規格NDIをiOSのSwiftから使い、ARKitと連動させてフレーム単位のメタデータでAR映像表現を作る実装と工夫が分かる。
さのたけと
C++の行列ライブラリEigenをCブリッジ経由でSwiftから使い、ジェネリックな行列型を実装する方法と、ホモロジー群計算高速化の事例が分かる。
- 5分でわかるIDFA / ATTスライド
神武
IDFAとATTの基本、表示タイミングの工夫とリジェクト事例、代替手段SKAdNetworkをコンパクトに解説。対応の悩みを整理できる。
- アプリの終活スライド
久利龍義
他アプリへの統合でサービス終了が決まったアプリについて、進行中開発の扱い、不要機能の削除、保守しやすい状態づくりの考え方と対応が分かる。
Atsushi Otsubo
iPhoneが搭載するLiDARや加速度、気圧などのセンサと取得できる情報、使い道を整理し、ユニークなアプリ開発のヒントが得られる。
monoqlo
Siriショートカットをマルチプラットフォーム対応した際に見つかった、iOS・watchOS・HomePod・OSバージョン・言語ごとの挙動差と注意点が分かる。
- 2段階認証実装の勘所スライド
ころころ
RFC6238のTOTPによる2段階認証をネイティブアプリに実装する概要と、設定時・ログイン時の状態管理、iOSエンジニアが注意すべき点が分かる。