MoTLab -GO Inc. Engineering Blog-MoTLab -GO Inc. Engineering Blog-

MoT TechTalk タクシーアプリ『GO』のiOS開発で、Live Activities、SwiftPM、脱Rosettaを試してみた

iOStechtalkChallengeWeek
March 30, 2023

An image from Notion

2023年3月14日に「MoT TechTalk #17 MoT TechTalk タクシーアプリ『GO』のiOS開発で、Live Activities、SwiftPM、脱Rosettaを試してみた」(connpass)を開催しました。

本記事では当日の内容を簡単に紹介します。


MoT TechTalkとは?

MoT TechTalkは、Mobility Technologiesのエンジニアたちが、タクシーアプリ『GO』をはじめとしたサービスやプロダクトを開発する中で得た技術的ナレッジを共有するイベントです。

17回目となる今回は、『Engineer Challenge Week(※)』で取り組んだタクシーアプリ『GO』のiOSアプリへのLive Activitiesのプロトタイプ作成、Swift Package Managerへの移行、開発環境の脱Rosetta化について紹介しました。

※『Engineer Challenge Week』は、MoTのエンジニアが半期に2週間、日々のプロダクト開発から離れ、普段できない技術チャレンジや時間があればやってみたいこと、新たな知識の獲得など、スキルアップのための期間を与えられるという取り組みです。

詳しくはこちらの記事もご覧ください! 参考:取締役エンジニアとして考える新しい個人と組織の成長の形 - Engineer Challenge Week

Engineer Challenge Weekでの取り組みの一部は、すでにテックブログでも公開しているのでこちらもどうぞ! 参考:Engineer Challenge Week関連の記事一覧

こちらのツイートのスレッドで当日の様子や雰囲気を感じていただけると思います。

登壇者紹介

今回はこちらのメンバーが登壇しました。

タクシーアプリ『GO』にLive Activitiesを入れてみた

Live Activitiesは、アプリの最新情報をロック画面やDynamic Islandに表示するための機能で、WWDC 2022で発表されました。

このパートではLive Activitiesの導入方法や実装方法、実際に試してみての所感を紹介しました。

実装に関しては以下の流れでサンプルコードを交えつつ紹介しているので、ぜひスライドや本記事の文末に掲載しているアーカイブ動画をご覧ください!

  1. 表示するデータを実装する
  2. ロック画面の表示を実装する
  3. Dynamic Islandの表示を実装する
  4. Live Activityの起動・更新・停止を制御する

41個のライブラリをSwift PMに移行し、脱Rosettaしてみた

タクシーアプリ『GO』では、iOSのライブラリをCocoaPodsで管理し、ビルド時間削減のためにPodBuilderを利用してプレビルドしています。

ただ現状以下の課題があります。

  • 今後のメンテナンスが不安
  • PodBuilderの学習コストが高い
  • 処理に時間が掛かる

これらの課題を解消するために、SwiftPM(Swift Package Manager)に移行しました。

このパートでは、SwiftPMに移行するために行った事前準備、実際の移行作業、SwiftPM未対応のライブラリに対してどのような対応を行ったかを紹介しました。また、今回SwiftPM移行時にいくつかのライブラリをXCFramework対応した流れで脱Rosettaにもチャレンジしたので、そちらも紹介しています。ぜひご覧ください!

アーカイブ動画

今回非常に多くの質問や感想をいただきました。ありがとうございました。アーカイブ動画の中では以下の質問にもお答えしていますのでぜひ視聴いただければと思います。

  • 複数のアプリでDynamic Islandの表示が被った場合、どのような挙動になるのか?
  • SwiftPMはライブラリ管理だけでなく、モジュール管理でも活用しているか?

開催履歴・開催予定

MoT Online Tech Talk は不定期開催しています。過去の開催レポートは こちら にもありますので、ぜひご覧ください!

MoTの最新技術情報は公式Twitterアカウント @goinc_techtalk で随時発信していきますので、ぜひフォローして続報をお待ちください!

We're Hiring!

📢
Mobility Technologies ではともに働くエンジニアを募集しています。

興味のある方は 採用ページ も見ていただけると嬉しいです。

特に今回登壇したメンバーが所属しているポジションは以下のページで紹介していますので、ご興味持っていただけた方はぜひご覧ください!