Upgrade to Pro — share decks privately, control downloads, hide ads and more …

真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~

真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. © 2023 Bitkey Inc. 真似できる! 実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ Kyo Arayama /

    arasan01 iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  2. © 2023 Bitkey Inc. 当時 3人 workhubアプリをすでに開発中 内 Androidやるタスク BFFとBackendも書くタスク

    新規アプリをiOS先行で作るタスク iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  3. © 2023 Bitkey Inc. 素早く開発ができること UIKitやFoundationと同様の使い勝手で 再利用ができること 色々なメンテナンスの手間が低いこと iOSDC2023 iOSDC2023

    真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  4. © 2023 Bitkey Inc. SwiftUI 自社開発のBitkey Device SDK (Core Bluetooth)

    Firebase Point-Free/SwiftUI Navigation Point-Free/Dependencies Not TCA Library 今の開発者が持っているスキルと Point-Freeの考え方を組み合わせた開発構成 iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  5. © 2023 Bitkey Inc. SPM Pluginsが微妙に不安定 ex) SwiftGenのプラグインを使っているときに ビルドがたまに失敗する コード生成タイミングと

    ビルドタイミングがあってない…? iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  6. © 2023 Bitkey Inc. Xcode Previewsを実機で動かせるはずが動かない PotentialCrashError: Update failed XCPreviewAgent

    may have crashed. iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  7. © 2023 Bitkey Inc. SwiftUIのみの環境で Swift Package側にコード寄せたら xcodeprojのつらいところが解決した ファイルの変更差分 外部パッケージ関連

    iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  8. © 2023 Bitkey Inc. 対象とするアプリのビルド設定系全部 ビルド設定 Firebaseのplistを指定 テストプラン iOSDC2023 iOSDC2023

    真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  9. © 2023 Bitkey Inc. マルチモジュールを歩くときは pointfreeco/isowordsやThe Composable Architecture の 構成を参考にしよう

    iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  10. © 2023 Bitkey Inc. 仕組み 前提としてPreview, Testで使える実装を求める その上でLiveで使える実装を求める これをTaskLocalの仕組みで扱う iOSDC2023

    iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  11. © 2023 Bitkey Inc. 途中までliveValueの実装ないけど そのときは何が使われるの? -> testValueが使われる iOSDC2023 iOSDC2023

    真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  12. © 2023 Bitkey Inc. swift-dependencies -> DependencyValues.swift#L269-L350 iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成

    ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  13. © 2023 Bitkey Inc. ここが嬉しい 1. リンクの段階で実装を差し込めるから マルチモジュールに使いやすい 2. liveValueがあれば使うので

    injectLiveのようなコードが必要ない iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  14. © 2023 Bitkey Inc. Isowords -> ApiClientLiveあたりの実装を参考にする iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成

    ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  15. © 2023 Bitkey Inc. xcodebuildから呼び出すテストとswift testから 呼び出すテストは結構違う。 主にUIKitなどに関わるテストはxcodebuildのみ可 iOSDC2023 iOSDC2023

    真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  16. © 2023 Bitkey Inc. Xcode Cloudが使いたい!! でもBitriseとかGithub Actions使ってる iOSDC2023 iOSDC2023

    真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  17. © 2023 Bitkey Inc. 押さえるべきところ -> 証明書の管理 iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成

    ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  18. © 2023 Bitkey Inc. WWDC21 Distribute apps in Xcode with

    cloud signing https://developer.apple.com/videos/play/wwdc2021/10204/ iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  19. © 2023 Bitkey Inc. App Store Connectがよしなに管理してくれる世界へ iOSDC2023 iOSDC2023 真似できる!実践的なプロジェクト構成

    ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  20. © 2023 Bitkey Inc. お し ま い iOSDC2023 iOSDC2023

    真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~
  21. © 2023 Bitkey Inc. Bitkeyブースでレシピ公開してます もっと詳しい内容もあるので来てね! レシピ内容はBitkeyの Qiita Organizationにも掲載予定 iOSDC2023

    iOSDC2023 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~ 真似できる!実践的なプロジェクト構成 ~Bitkey流簡単レシピ~