採択
2022/09/12 15:35〜
Track A
LT(5分)

iPhoneでサッカースタジアムをスキャンしVPSを動作させるには

shmdevelop 服部 智

Visual Positioning Systemは周りの風景の情報を元に現実空間の中で自身の位置を特定する技術です。

私はサッカーJ2リーグの町田ゼルビアのホームスタジアム「町田GIONスタジアム」にて
iPhoneで数百枚画像撮影して点群作成し、VPS機能を用いてAR表現を実現しました。

  • Immersal での点群作成
  • 実際のスキャンの様子
  • 数回の実作業を経て得た生成物
  • VPSを用いて実現したAR表現

そもそもiPhoneでスタジアムに立ち向かえるのか!

スタジアムでの現地作業という貴重な経験から得た知見を共有し、そこでどんな表現が実現できたのか画像と映像と共に熱く解説します。

採択
2022/09/12 16:00〜
Track A
LT(5分)

サポートiOSバージョンを定期的にあげる仕組みづくり

FromAtom FromAtom

サポートOSバージョン、どんどんあげていきたいですよね?
しかし、サポートバージョンを減らすとユーザーも減るため、プロダクトオーナーに渋られることもよくあります。

加えて、開発の現場では「サポートOSバージョンあげたいけど、結構気合で解決できるし……」というエンジニアと、
「エンジニアから要望も来ないから、あげなくてもいいか」というプロダクトオーナーという、お見合い状態になることもあります。
実はサポートOSバージョンをあげてもよさそうなのに、キッカケがない……そんなことはありませんか?

このトークではこういった課題を解決するため、
・アクティブユーザーのOSバージョン割合で判断するのは悪手!?本当に見るべき指標
・定期的にサポートOSバージョンアップを検討できるキッカケの仕組み
について話します。

このトークが皆さんのアプリのサポートOSバージョンアップにつながると嬉しいです。

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

Swift以外使ってはいけないiOSアプリ開発

lovee 星野恵瑠

え?Swift以外使わないのは当たり前じゃね?って思ってるあなた、環境構築やCI/CDのこと忘れてるかな?

そう、これまで我々は周辺技術としてRubyやZshをたくさん使ってきました。でも安全性が高いSwiftに慣れてきた我々は、やはりSwift使いたいですよね!

というわけで、この発表はSwiftだけで環境構築やCI/CDスクリプトを書く方法をお伝えします!

7
レギュラートーク(40分)

タイトなスケジュール下で行う爆速開発術

AkkeyLab AkkeyLab

開発期間に余裕がないとき、細かいアニメーションはバッサリ切り捨てられることが多いかと思います。そして、チケットには「2次リリースで対応」なんてメモを残して実装されることはなかった…なんて現象に遭遇したことはありませんか?
このような経験を元に、新機能を3ヶ月という短期間で集中開発した際に培ったノウハウを伝授いたします。

・Moya 利用時の Stub 活用術
・XcodePreviews 活用術
・アニメーション処理の共通化術

まずは、バックエンド開発待ちという状態ゼロを実現させます。次に、XcodePreviews を利用することで、頻度高くレイアウト・アニメーションをデザイナー確認できる環境が整います。
最後に、共通化によってアプリ全体で統一した操作感に仕上げることが可能となります。

AkkeyLab の原稿ともリンクしていますので、明日からでも実践・成果を実感していただけます!

2
LT(5分)

swizzlingではじめるコードリーディングのすすめ

beowulf_tech k2moons

swizzlingと聞くと、「ああ、使い道のない変な機能」と思われるかもしれません。
実際swizzlingでぐぐると「共通の処理を実装する」とか「共通処理を差し込む」といった文脈で説明されることが多いです。

このLTでは、実装ではなく、コードリーディングに用いることで処理の流れを容易に掴むことができ、ソースコードの理解が効率化される事例を紹介したいと思います。

7
LT(5分)

Apple Platformエンジニアとして、そして父親として

itaru_sugimoto 杉本 至

iOSエンジニアとして、Apple プラットフォームエンジニアとしてそろそろ10年が経とうしてしています。
そして私は2人の娘と5歳の発達障害の息子を持つ父親でもあります。日々進化し続ける開発技術についていけず悩む日々でもあります。
コロナ禍においてリモートワークが導入され柔軟な働き方ができるようになり、家族とより近くなりありがたくも大変なこともあるようになりました。
私以外にも激動の日々を送る方がいらっしゃると思います。悩みつらみがありつつソフトウェアエンジニアとして壁を乗り越えることの難しさや、その中でSwiftや開発者コミュニティに提供できるものとは何なのかについてお話します。

5
LT(5分)

Findy Teamsエンジニアリングチームの生産性を可視化してみた

novr 古宮伸久

Findy Teamsを使ってエンジニアチームの生産性を可視化し、改善に取り組んだ話

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

Firebase Crashlyticsのべすとぷらくてぃす

novr 古宮伸久

普段とりあえず入れて何気なく使われているCrashlytics
CrashlyticsはCrash検知だけでなく、Error・Bug検知にも使えます
本当は必要なErrorを取り逃がしていませんか?
Errorの設計や、実装方法と活用を紹介します

5
採択
2022/09/11 16:10〜
Track A
LT(5分)

Exposure Notification Privacy-preserving Analytics Architectureの仕様について

itaru_sugimoto 杉本 至

COVID-19のパンデミックに対する解決策としてAppleとGoogleが設計したExposure Notification Privacy-preserving Analytics (ENPA) Architectureについてトークします。
ENPAは、最新のプライバシー保護技術および暗号化技術を活用して、個人データを一切開示せずにデータを収集することを可能にするものです。
強力なプライバシー原則を維持しながら、収集された測定基準の信頼をどのように保護したのか、どのような仕組みを利用して情報を収集したのかをExposure Notification Privacy-preserving Analytics White Paperから解説いたします。

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

SwiftUI版Atomic Designを用いての責務分担を明確化してみよう!

MHTcode_chibird 千葉 諒

SwiftUIでAtomic Designを使った特の責務分担の考え方と役割について説明していきます。

  1. Atimic Designとはなにか?
    • Atomic Designの説明
  2. なぜSwiftUIでAtomic Designを利用するメリットの説明
    • SwiftUIでAtomic Designを使用すると解決できる問題
  3. SwiftUIでAtomic DesignにUIを切り分ける実例
    • SwiftUIで実際のコードを見ながら切り分ける実例を紹介していきます。
  • ターゲット
    1.Swiftを学び始めたけどファイルの細分化をどの単位でしていけばいいのかがわからない
    1. 同じコードをいろいろな場所で何度も書いてしまっている
    2. webフロントの開発を今までやっていてこれからSwiftを学習しようと思っている
2
レギュラートーク(20分)

Flutterでも好きなパッケージ管理ツールを使いたい! 試してみてわかったこと

MHTcode_chibird 千葉 諒

Flutterで利用したアプリケーションでは初期状態だとパッケージ管理ツールはCocoaPodsが設定されます。
今までSwiftで開発をしていた人はCocoaPodsだけではなくCarthageやSwift Package Managerを利用している人もいると思います。
実際に試してみた

  1. パッケージ管理ツールの簡単な説明
  2. Flutterに好きなパッケージ管理ツールを導入する方法
  3. パッケージ管理ツールを入れる際の注意点
  4. Flutterにおいてのパッケージ管理ツールの現状
  • ターゲット
    1. Swiftで今までアプリ開発を行っていてこれからFlutterのネイティブ実装をする可能性がある人
    2. パッケージ管理ツールにこだわりがある人
    3. Flutterでパッケージ管理ツールを変えられるか知りたい人
レギュラートーク(20分)

【ABテストまわしてこ!】Firebase Remote ConfigでひたすらABテストを回して得た知見をお届け

ohayoukenchan ohayoukenchan

mamariではオンボーディング強化のため、昨年末からFirebase Remote Configを用いたABテストを繰り返しています。
このトークでは、ABテストを継続的に続けることで得た知見をできるだけシェアしたいと思います。

  • mamariではどのようにFirebaseでのABテストをどのようにアプリに組み込んでいるか
  • Firebaseに送信できるユーザープロパティ上限25個しかないのですぐ引っかかってしまうのでチームを巻き込んで整理した話
  • Custom Definitionsを用いたAudience作成がわかりづらく意図しないセグメントになってしまった話
  • オンボーディング途中で送信したEventを用いてAudienceを割り振ろうとしても割当が間に合わないのでその対策
  • 施策全体を通してどんな施策が効果があったのか
    ABテストまわしてこ!
9
LT(5分)

新卒1年目でネイティブアプリを3つFlutterにリプレイスした話

tkn_sei58 セイ

21卒で元々iOSエンジニアとしてエキサイト株式会社に入社し、エキサイトニュース、ローリエプレス、エキサイト翻訳のFlutterリプレイスに携わらせてもらいました。弊社としてはさらにアプリで攻めていくために選んだFlutterへのリプレイスです。
その中で生まれた

  • アプリ開発組織としてや実際のリプレイス部分における苦悩やそれに対する改善点。
  • ネイティブだったらここでつまづかなかったのにという点。
    以上2点について話していきたいと思います
レギュラートーク(20分)

継続的サービス品質改善のためのiOSアプリのモニタリング

増住 啓吾

モニタリングはサービスの開発・運用において重要な要素です。
しかし、ノウハウがある程度確立しているバックエンドやインフラ領域に比べ、クライアントサイドではまだ事例が少ないこともあり、手探りの運用にならざるを得ないケースが多いのではないでしょうか?
本トークでは、バーチャルライブ配信アプリ「REALITY」の事例から、指標収集のための実装や、FirebaseやBigQueryなどの外部サービスとの連携など、継続的品質改善のためのiOSアプリのモニタリング手法についてお話しします。

  • クラッシュレポートの収集と分類 〜Unity as a Library構成アプリの事例から〜
  • オブザーバビリティ向上のためのエラーログ構造化
  • アプリアイコンタップからコンテンツ表示までの"起動時間"
  • ライブ配信中のサーマルスロットリング状況
  • 品質改善&維持のための運用&監視
レギュラートーク(20分)

CoreBluetooth 2022

coffeegyunyu 日向強

iOSで無線通信 Bluetoothを扱うために存在するCoreBluetoothはiOS 5.0の時代からある歴史のあるものです。

昔触ったことのある人であれば、CoreBluetoothは一部のBluetoothの用途でしか使えない、ごく機能の限られたもの、という印象があるかもしれません。
しかし最近のCoreBluetoothは新規のAPIの追加という形では少ないものの、LE 2M PHY対応やBR/EDR向け対応など、できることは確実に広がっています。

そんなiOSのBluetoothに関して、2022年現在改めてCoreBluetoothではどういったことが実現できるのか、CoreBluetoothについて紹介し、iOSの無線通信の可能性を見出すトークとする予定です。

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

Protocol BuffersでHTTP APIを定義してコードを自動生成する

lt_aoyama あおやま

「REALITY」アプリでは、クライアントとサーバ間のHTTP通信の定義にProtocol Buffersを導入しました。
Protocol BuffersとはGoogleによって開発されたシリアライズフォーマットであり、共通のスキーマからSwiftやKotlin、Goなど各言語向けに必要なコードを自動生成します。
gRPCとセットのイメージのProtocol Buffersですが、バイナリに変換してHTTP通信のbodyに載せることで、プロトコルはHTTP通信のままに、共通のスキーマや、高速、軽量のシリアライゼーションなどProtocol Buffersの恩恵を受ける事が可能です。

このトークでは、Protocol Buffersを使ったHTTP通信の定義に加え、Swiftで独自のprotocのpluginを実装し、クライアントで必要なコードを自動生成する方法を紹介します。

2
LT(5分)

大規模アプリ開発におけるiOSチーム内での情報共有の取り組み

furuyan325 古屋 広二

タクシーアプリ「GO」のiOSアプリは現在7人体制で開発しています。
3,4人だった頃は自分が開発した部分じゃなくてもなんとなく分かっていたものが、徐々に自分の担当している案件しかわからない状況になっていきました。
そんな中iOSチームで週次のチーム会を開催するようになり、そこでやった取り組みの中でよかった物について紹介したいと思います。

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

2ヶ月以内にApp内課金を実装しないと審査を通さないと言われた時に焦らないために

kzytcbn315 立花和也

ある日突然「2ヶ月猶予あげるからApp内課金を実装して、App内課金を実装しないと審査通らないよ」と言われた時にあなたならどうしますか?

App内課金(In-App Purchase)はすでに多くのアプリで実装されている機能ですが、課金の形態はアプリによって多種多様で場合によっては調べても自分が提供したい形態にマッチしないような場合もあります。

お上の一声で突如リリースが出来ない危機に陥った時に焦らずに対処できるようにするためにApp内課金を実装する上でのポイントやこれを早く知っておきたかったといったポイントをお話しします。

このトークを聞いて2ヶ月でApp課金をリリースしてみませんか?

3
採択
2022/09/11 15:15〜
Track A
LT(5分)

Apple Watchを使い倒す 〜Watchから取れるデータとその活用法〜

tsuboyan5 tsuboyan

初代Apple Watchが発売されてから早7年。Apple Watchは進化を続け、圧倒的な世界最多シェアを誇るスマートウォッチとなりました。
そんなApple Watchを自身のアプリ開発にも活用したいところですが、具体的にどう活かせば良いかは悩みどころですよね…。

ということで今回は、

  1. どんなデータをApple Watchから取得できるのか
  2. どんな用途に利用されている・できそうか

これらの観点から整理し、ウォッチを活用したユニークなアプリの開発につながるヒントを共有できれば幸いです。

採択
2022/09/10 18:45〜
Track B
レギュラートーク(20分)

量子情報工学への招待 〜iOSアプリ開発を通して学んでみよう〜

量子コンピュータや量子情報、量子暗号といった言葉を聞いたことがある人は多いと思います。これらには量子力学という物理の学問が使われています。
そんな量子力学が作り出す不思議な世界へiOSアプリ開発、Xcodeのシュミレータを用いてご説明します。
物理学の専門性がない方にもご理解いただけるように難しい話はしません。量子力学の面白さ、不思議さを知ってもらうためのトークです。