iOSDC Japan 2020
2020年9月19日開催 / 発表資料 81 本
宇佐見 公輔
Combine、ReactiveSwift、RxSwiftでUIとモデルをバインディングする具体的な方法を整理し、うまく行うためのTipsも学べる。
宇佐見 公輔
iPadのSplit ViewやMultiple Windowsで実際に取り得るウィンドウサイズを図で一覧にし、UIレイアウト設計の参照資料として使える。
今城 善矩
CombineのPublisher、Subscriber、Subscriptionなど主要な部品の関係を図で整理し、RxSwiftの概念との対応も理解できる。
Kishikawa Katsumi
SourceKit-LSPを使い、GitHub上でコードジャンプできるブラウザ拡張の作り方と、サーバーサイドからiPadで読む応用が分かる。
Kevin Wong
iOS 11対応のSwiftUI風OSS、AltSwiftUIの紹介とワークショップ。SwiftUIの知識を流用する使い方や楽天アプリでの活用が分かる。
- 今日から分かるAVAudioEngineの全てスライド動画
meteor
AVAudioEngineでAVAudioPCMBufferを加工するカスタムエフェクトの作り方や、ManualRenderingModeでの録音・ファイル保存方法が分かる。
Yuta Nagai
迷惑電話フィルタ開発で得たCall Directory Extensionの実践Tips。OS別性能、差分更新、メモリ管理、強制終了時のクラッシュ対策が分かる。
- HomeKit 2020スライド動画
所友太
2020年時点のHomeKitを総括。Bridgeの概念、Homebridgeによる未対応製品の連携、HomeKit ADKでの自作アクセサリが分かる。
うるし
J2ObjCでJava資産をiOSアプリに流用し、リリースまで行った体験談。採用理由、環境構築、発生した問題と対処が分かる。
- あなたの知らない連絡先の世界スライド動画
日向強
iOSのContact APIで連絡先を扱う際の複雑な構造(ミドルネーム、振り仮名等)やVCard変換、サーバー側テーブル設計への活かし方が分かる。
marty-suzuki
4年運用して遅くなった詳細画面を、計測と原因特定からView構成の見直しまで段階的に改善し、表示速度を上げた知見が分かる。
- Apple pencil対応の勘所を話しますスライド動画
Shetomi
PencilKitを使ったノートアプリ開発の経験から、できること・できないこと、PKDrawingの画像変換、ダークモードの罠など対応の勘所が分かる。
Takagi Go
日経電子版の紙面ビューアーを例に、Background Notificationで大きな画像を自動ダウンロードする際の制約、全体構成、安定運用の工夫が分かる。
かっくん
UIKitアプリをmacOS向けに出すCatalystで、メニュー・Touch Bar・ToolbarというmacOS独自機能を実装する方法と、リリース経験から得た基礎が分かる。
Yuta Koshizawa
リバーシアプリを100人でリファクタリングした成果を横断分析し、型の活用や依存性反転など、iOSアプリ設計で重要な要点が分かる。
- 400種類のアプリを毎日ビルドする自動化の技術スライド動画
Kishikawa Katsumi
ヤプリが約400種類のアプリのビルドから署名、ストア申請までを自動化した仕組みと、乗り越えた課題、技術選択の考え方が分かる。
Takanori Hirobe
Grand Central DispatchとSwiftでソートや探索を並行化する手法を学び、マルチコアを有効に使う考え方が分かる。
- そろそろCombineスライド動画
shiz
Combineの基本的な使い方から実際のコードの書き方までを2020年時点で整理し、学習を進めるためのサイトやツールも知ることができる。
oishi
ABM、MDM、SAM、Managed App Configurationなど、2020年のエンタープライズiOSの用語と最新動向、関連性を整理して理解できる。
桐山圭祐
じゃらんアプリでFlutterへ順次移行した経験談。直面した課題とその回避策、実感できたメリットが分かる。
荒川聖悟
Sansan・Eight両アプリのiOS開発体制とプロセスの紹介。約30日で実装したオンライン名刺機能の短期開発の進め方が分かる。
今村雅幸
ZOZOのCTOが、大規模サービス運営と新サービス開発を両立するエンジニア組織の考え方とiOSチームの取り組みを語る。
HiromuTsuruta
課金ページの改修やA/Bテストで何度もリジェクトされた経験から、App Storeの審査で避けるべき課金ページのアンチパターンが分かる。
rokuroku
iPadOSアプリをマウス・キーボードに対応させる要点を解説。カーソル変更、コンテキストメニュー、ショートカットの実装が分かる。
FromAtom
デバッグメニューを専用アプリに切り出し、再ビルドなしで状態を切り替える手法と、そのメリット・デメリットが分かる。
- 新規機能開発からモジュール分割を始めてみるスライド動画
Ryo Izumi
長年運用するアプリで、新規機能開発をモジュールとして切り出し、マルチモジュール化を進めた実践。得られた利点と課題が分かる。
堤 修一
Core MLをCoreML.frameworkだけでなくモデル形式やcoremltoolsまで含め捉え、iOSで機械学習を扱うのに必要な技術領域が分かる。
八十嶋祐樹
iOS13で追加されたAVAudioSinkNodeとAVAudioSourceNodeの使い方を解説し、C言語APIからAVAudioEngineへ移行する方法が分かる。
フレディ
iOSDCなどで採択されるCfPプロポーザルの書き方。手持ちの知識を聞き手に響く内容にするコツと、登壇経験者の気づきが分かる。
- iOSではじめるWebARスライド動画
ikkou
iOSのWebARがバージョンごとにどう変わってきたかを、Androidとの比較や具体例で紹介。iOS 12.2や13の制限と対応が分かる。
- エラーアーキテクチャ設計について考えるスライド動画
きちえもん
APIエラーやパースエラーなど多様なエラーを、レイヤー構造のアプリでどう扱うか。iOS・Androidアプリでの試行錯誤から得た設計の知見が分かる。
かびごん小野
ベジェ曲線の定義と成り立ちをたどり、UIBezierPathやPathでの扱い方を通じて、その仕組みと魅力が分かる。
uhooi
FastlaneやCIサービス固有機能に頼らず、スクリプトベースでGitHub ActionsによるiOSアプリのCIを構築し、キャッシュやSwiftLintも導入する方法。
Yusuke Arai
Xcode Energy GaugesやEnergy Logsを使い、iOSアプリのバッテリー消費の問題点を洗い出すデバッグ方法が分かる。
ひろん
iPadOSのMultiple Windowsでユーザーが得る体験と、UISceneなどScene APIを使った段階的な対応方法、状態保存やライフサイクルの扱いが分かる。
あかつき
iOSエンジニア向けに、Swiftと比較しながらKotlin、Activity、ConstraintLayout、RecyclerView、デバッグなどAndroid開発の要点を学べる。
Saryong Kang
iOSアプリのマルチモジュール化を最小の労力で進めるコツと、Bazelでビルドを高速化する方法、単体テストのトラブル対処が分かる。
ShoMasegi
Swift 4.2以降に追加されたResult、Opaque return types、Property Wrapperなどの機能をユースケース別に見直し、日常業務で使えるようになる。
josh
UIKitからSwiftUIへ失敗せず移行する計画と考え方を紹介。移行しない範囲、Combine導入、混在方法、設計の評価が分かる。
nade
iOSサブスクの無料トライアル施策での失敗談。Appleのお試しオファーで実現できる要件とできない要件、プラン構成の勘所が分かる。
えんどう
iOS13のPDFスクリーンショット機能に対応し、文字列をコピーできるPDFを生成するための方法が分かる。
monoqlo
リブランディングを想定していない大規模アプリで、色や画像の一括変更に挑んだ工夫と諦めた点、結果を共有し、備え方が分かる。
じんむ
iOSアプリを別の開発アカウントへ譲渡した実体験。予想外の落とし穴と解決策、Appleの条件変更への対応が分かる。
小林南実
共通コードから複数アプリをビルドする際、#ifの乱用を避け、型定義で機能の出し分けを安全かつ読みやすく実現する方法が分かる。
kenmaz
SwiftUI用と思われがちなXcode PreviewをUIKitの既存アプリ開発に導入し、View実装や各種表示確認を効率化する方法がデモで分かる。
laprasDrum
noteのiOS開発で行っている配信、審査状況確認、dSYM管理などの業務をBotで自動化したワークフロー事例と、育て方が分かる。
- 詳解Storyboardスライド動画
日向強
Storyboardの復元機能やFirstResponder、ロケール別遷移など、UI設計以外の活用法を解説し、コードをビジネスロジックに集中させる方法が分かる。
今城 善矩
The Composable Architecture(TCA)の特徴を紹介。画面ごとのReducerとCombineの限定的な使い方など、SwiftUIアプリの構成のヒントが得られる。
Ryo Aoyama
数百モジュール規模のアプリ開発でBazelを採用した事例。モジュール細分化の利点と、Remote Cacheなどによる相乗効果が分かる。
佐藤剛士
iOSアプリにXCUITestでUITestを導入した経験から、PageObjectによる設計やチームでの方針づくり、挙動の落とし穴と対処法が分かる。
- iOS のキーボードと文字入力のすべてスライド動画
Yoshimasa Niwa
iOSの文字入力やキーボードで起きがちな不具合の原因を、実例とともに解説する。キーボードの重なりや日本語入力の問題への対策が分かる。
- 継続的にアプリのパフォーマンスを計測するスライド動画
kariad
iOSアプリのCPU使用率と端末温度をInstrumentsで継続計測する仕組みの構築と運用。直面した課題と今後の展望が分かる。
藤坂 祐史
クックパッドマートの開発と新しい買い物体験の実現を紹介。それを支えるiOSアプリのアーキテクチャやSwiftUI活用が分かる。
石井 潤、元 亨周
タウンワークiOSアプリの数年間の改善事例。デバッグモード、UIテスト、クラッシュ率改善、Swift化、コンパイル高速化の取り組みが分かる。
椿
会計freeeのモバイル開発で、iOS・Android共通の課題をKotlin Multiplatformで解決する取り組みをiOS視点で紹介する。
星野恵瑠
CGAffineTransformの内部をa b c d tx tyの行列と四則演算で読み解き、scaleやrotateを組み合わせた時の挙動が理解できる。
- Swiftで始める静的解析!スライド動画
まつじ
SwiftSyntaxを使ってSwiftコードを解析する静的解析ツールを実際に実装し、その仕組みと作り方が分かる。
kiwi
PWAやSafariの機能、App Clipsの現状を整理し、Webとネイティブアプリの使い分けや組み合わせ方を考える技術選定の視点が得られる。
- 大解剖!UIColorファミリースライド動画
しもとり
UIColorが内部に持つ非公開サブクラス群の構成とdynamic colorの仕組みを考察し、ドキュメントにない仕様の理解が深まる。
Masato Ishigaki
iOSアプリ開発で、バックエンドやデザインとの連携を含む組織構造と開発プロセスを設計し、生産性を高めた取り組み事例が分かる。
中川 泰夫
Universal LinksやURL Schemeの制約を踏まえ、Firebase Dynamic Linksの導入方法と、未インストール時の遷移の実現事例が分かる。
Yu Tawata
新規アプリでSwiftUIとCombineを採用した経験から、UIはSwiftUI、画面遷移はUIKitとする設計とそれで解決した課題が分かる。
- SwiftのWebAssembly対応の軌跡スライド動画
kateinoigakukun
SwiftWasmプロジェクトでの登壇者のコントリビューション過程を紹介し、SwiftでWebAssembly対応が進んだ経緯と現状が分かる。
我妻幸長
AIに欠ける自律性と汎用性を踏まえ、内部世界のシミュレーションに続き、アプリに感情のような仕組みを持たせる試みを紹介する。
佐藤俊輔
みてねのiOS開発でSourceryとStencilによる自動生成をテストデータやDIに活用した事例と、運用での知見や利点・欠点が分かる。
浅野 宏明
飲食店予約アプリのCTIサービスで、専用物理デバイスとiOSアプリをBLE/SIP/PSTNで連携させた際の課題と解決策、運用面の工夫が分かる。
稲見 泰宏
Redux/Elm Architectureから、Harvest、TCAなどSwiftの関数型アーキテクチャ、OpticsやComonadの考え方、Reactとの類似点まで分かる。
TachibanaKaoru
10台以上のiPhoneを同期させる仕組みを2年以上の取り組みから解説。イベントやアプリで複数端末を連携させる方法が分かる。
noppe
GoogleのMediaPipeを使ったARアプリ開発の導入手順と使い道を紹介。ARKitが使えない端末や、ARKitで難しい表現の実現方法が分かる。
だいすけ
DCGANやCycleGANなどの学習済みGANモデルをCoreMLに変換し、iOS端末で画像生成するための手順とコツが分かる。
hak
iOSデバイスのSoC進化の13年を振り返り、Apple Siliconへの移行に至る道のりを語る。ハード面の歴史的背景が分かる。
ahirustarrr
カバレッジを約1年で0%から60.3%に上げた実体験から、テストコードがバグ減少に効いたか、利点と欠点、組織に合うテスト選択が分かる。
- 実装したくなる音声編集スライド動画
ようせい
音声配信サービスRadiotalkでの経験から、iOSでの音声波形の取得、トリミングや結合などの編集、波形UIの作り方が分かる。
Yuichi Yoshida
C++で計算グラフを実装しLLVMのJITコンパイルで動的にバイナリを生成する例を通し、初心者にもLLVMの仕組みと面白さが分かる。
- 本当はこわいLLDBスライド
みやし
LLDBでMacアプリにアタッチするとどんな情報が取得できるかを示し、そのリスクと防ぐ方法を考察する。
明渡麻衣花
Siri Shortcutsで特定画面を開いて起動する最小実装をNSUserActivityで解説し、Spotlight提案やAdd to Siriボタンの配置判断も分かる。
- xcrun Essentialsスライド
Yutaro Muta
Xcode内のツールを呼び出すxcrunの基本と、実際の課題を解決した事例を紹介。CIや開発効率化に使える場面が分かる。
とし
100人以上の中高大学生にiOS開発を教えた経験から、初心者指導の注意点、うまくいった点と失敗、リリース支援のコツが分かる。
saiten
CryptoKitとCoreBluetoothで、ArduinoとiPhoneを使い古いクルマ向けスマートキーを作った知見から、暗号とBLE連携の実装が分かる。
meteor
Apple Low-Latency HLSの仕組みや従来のLow-Latency HLSとの違い、AVPlayerでの再生、配信サーバー構築時の注意点が分かる。
栗山 徹
着信時の氏名表示で表示できない電話番号の特徴と、Speakerboxでの検証の苦労、iOS13以降の注意点が分かる。