Visual Positioning Systemは周りの風景の情報を元に現実空間の中で自身の位置を特定する技術です。
私はサッカーJ2リーグの町田ゼルビアのホームスタジアム「町田GIONスタジアム」にて
iPhoneで数百枚画像撮影して点群作成し、VPS機能を用いてAR表現を実現しました。
そもそもiPhoneでスタジアムに立ち向かえるのか!
スタジアムでの現地作業という貴重な経験から得た知見を共有し、そこでどんな表現が実現できたのか画像と映像と共に熱く解説します。
サポートOSバージョン、どんどんあげていきたいですよね?
しかし、サポートバージョンを減らすとユーザーも減るため、プロダクトオーナーに渋られることもよくあります。
加えて、開発の現場では「サポートOSバージョンあげたいけど、結構気合で解決できるし……」というエンジニアと、
「エンジニアから要望も来ないから、あげなくてもいいか」というプロダクトオーナーという、お見合い状態になることもあります。
実はサポートOSバージョンをあげてもよさそうなのに、キッカケがない……そんなことはありませんか?
このトークではこういった課題を解決するため、
・アクティブユーザーのOSバージョン割合で判断するのは悪手!?本当に見るべき指標
・定期的にサポートOSバージョンアップを検討できるキッカケの仕組み
について話します。
このトークが皆さんのアプリのサポートOSバージョンアップにつながると嬉しいです。
え?Swift以外使わないのは当たり前じゃね?って思ってるあなた、環境構築やCI/CDのこと忘れてるかな?
そう、これまで我々は周辺技術としてRubyやZshをたくさん使ってきました。でも安全性が高いSwiftに慣れてきた我々は、やはりSwift使いたいですよね!
というわけで、この発表はSwiftだけで環境構築やCI/CDスクリプトを書く方法をお伝えします!
開発期間に余裕がないとき、細かいアニメーションはバッサリ切り捨てられることが多いかと思います。そして、チケットには「2次リリースで対応」なんてメモを残して実装されることはなかった…なんて現象に遭遇したことはありませんか?
このような経験を元に、新機能を3ヶ月という短期間で集中開発した際に培ったノウハウを伝授いたします。
・Moya 利用時の Stub 活用術
・XcodePreviews 活用術
・アニメーション処理の共通化術
まずは、バックエンド開発待ちという状態ゼロを実現させます。次に、XcodePreviews を利用することで、頻度高くレイアウト・アニメーションをデザイナー確認できる環境が整います。
最後に、共通化によってアプリ全体で統一した操作感に仕上げることが可能となります。
AkkeyLab の原稿ともリンクしていますので、明日からでも実践・成果を実感していただけます!
swizzlingと聞くと、「ああ、使い道のない変な機能」と思われるかもしれません。
実際swizzlingでぐぐると「共通の処理を実装する」とか「共通処理を差し込む」といった文脈で説明されることが多いです。
このLTでは、実装ではなく、コードリーディングに用いることで処理の流れを容易に掴むことができ、ソースコードの理解が効率化される事例を紹介したいと思います。
iOSエンジニアとして、Apple プラットフォームエンジニアとしてそろそろ10年が経とうしてしています。
そして私は2人の娘と5歳の発達障害の息子を持つ父親でもあります。日々進化し続ける開発技術についていけず悩む日々でもあります。
コロナ禍においてリモートワークが導入され柔軟な働き方ができるようになり、家族とより近くなりありがたくも大変なこともあるようになりました。
私以外にも激動の日々を送る方がいらっしゃると思います。悩みつらみがありつつソフトウェアエンジニアとして壁を乗り越えることの難しさや、その中でSwiftや開発者コミュニティに提供できるものとは何なのかについてお話します。
普段とりあえず入れて何気なく使われているCrashlytics
CrashlyticsはCrash検知だけでなく、Error・Bug検知にも使えます
本当は必要なErrorを取り逃がしていませんか?
Errorの設計や、実装方法と活用を紹介します
COVID-19のパンデミックに対する解決策としてAppleとGoogleが設計したExposure Notification Privacy-preserving Analytics (ENPA) Architectureについてトークします。
ENPAは、最新のプライバシー保護技術および暗号化技術を活用して、個人データを一切開示せずにデータを収集することを可能にするものです。
強力なプライバシー原則を維持しながら、収集された測定基準の信頼をどのように保護したのか、どのような仕組みを利用して情報を収集したのかをExposure Notification Privacy-preserving Analytics White Paperから解説いたします。
SwiftUIでAtomic Designを使った特の責務分担の考え方と役割について説明していきます。
Flutterで利用したアプリケーションでは初期状態だとパッケージ管理ツールはCocoaPodsが設定されます。
今までSwiftで開発をしていた人はCocoaPodsだけではなくCarthageやSwift Package Managerを利用している人もいると思います。
実際に試してみた
mamariではオンボーディング強化のため、昨年末からFirebase Remote Configを用いたABテストを繰り返しています。
このトークでは、ABテストを継続的に続けることで得た知見をできるだけシェアしたいと思います。
21卒で元々iOSエンジニアとしてエキサイト株式会社に入社し、エキサイトニュース、ローリエプレス、エキサイト翻訳のFlutterリプレイスに携わらせてもらいました。弊社としてはさらにアプリで攻めていくために選んだFlutterへのリプレイスです。
その中で生まれた
モニタリングはサービスの開発・運用において重要な要素です。
しかし、ノウハウがある程度確立しているバックエンドやインフラ領域に比べ、クライアントサイドではまだ事例が少ないこともあり、手探りの運用にならざるを得ないケースが多いのではないでしょうか?
本トークでは、バーチャルライブ配信アプリ「REALITY」の事例から、指標収集のための実装や、FirebaseやBigQueryなどの外部サービスとの連携など、継続的品質改善のためのiOSアプリのモニタリング手法についてお話しします。
iOSで無線通信 Bluetoothを扱うために存在するCoreBluetoothはiOS 5.0の時代からある歴史のあるものです。
昔触ったことのある人であれば、CoreBluetoothは一部のBluetoothの用途でしか使えない、ごく機能の限られたもの、という印象があるかもしれません。
しかし最近のCoreBluetoothは新規のAPIの追加という形では少ないものの、LE 2M PHY対応やBR/EDR向け対応など、できることは確実に広がっています。
そんなiOSのBluetoothに関して、2022年現在改めてCoreBluetoothではどういったことが実現できるのか、CoreBluetoothについて紹介し、iOSの無線通信の可能性を見出すトークとする予定です。
「REALITY」アプリでは、クライアントとサーバ間のHTTP通信の定義にProtocol Buffersを導入しました。
Protocol BuffersとはGoogleによって開発されたシリアライズフォーマットであり、共通のスキーマからSwiftやKotlin、Goなど各言語向けに必要なコードを自動生成します。
gRPCとセットのイメージのProtocol Buffersですが、バイナリに変換してHTTP通信のbodyに載せることで、プロトコルはHTTP通信のままに、共通のスキーマや、高速、軽量のシリアライゼーションなどProtocol Buffersの恩恵を受ける事が可能です。
このトークでは、Protocol Buffersを使ったHTTP通信の定義に加え、Swiftで独自のprotocのpluginを実装し、クライアントで必要なコードを自動生成する方法を紹介します。
タクシーアプリ「GO」のiOSアプリは現在7人体制で開発しています。
3,4人だった頃は自分が開発した部分じゃなくてもなんとなく分かっていたものが、徐々に自分の担当している案件しかわからない状況になっていきました。
そんな中iOSチームで週次のチーム会を開催するようになり、そこでやった取り組みの中でよかった物について紹介したいと思います。
ある日突然「2ヶ月猶予あげるからApp内課金を実装して、App内課金を実装しないと審査通らないよ」と言われた時にあなたならどうしますか?
App内課金(In-App Purchase)はすでに多くのアプリで実装されている機能ですが、課金の形態はアプリによって多種多様で場合によっては調べても自分が提供したい形態にマッチしないような場合もあります。
お上の一声で突如リリースが出来ない危機に陥った時に焦らずに対処できるようにするためにApp内課金を実装する上でのポイントやこれを早く知っておきたかったといったポイントをお話しします。
このトークを聞いて2ヶ月でApp課金をリリースしてみませんか?
初代Apple Watchが発売されてから早7年。Apple Watchは進化を続け、圧倒的な世界最多シェアを誇るスマートウォッチとなりました。
そんなApple Watchを自身のアプリ開発にも活用したいところですが、具体的にどう活かせば良いかは悩みどころですよね…。
ということで今回は、
これらの観点から整理し、ウォッチを活用したユニークなアプリの開発につながるヒントを共有できれば幸いです。
量子コンピュータや量子情報、量子暗号といった言葉を聞いたことがある人は多いと思います。これらには量子力学という物理の学問が使われています。
そんな量子力学が作り出す不思議な世界へiOSアプリ開発、Xcodeのシュミレータを用いてご説明します。
物理学の専門性がない方にもご理解いただけるように難しい話はしません。量子力学の面白さ、不思議さを知ってもらうためのトークです。