Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManage...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ANDPAD inc
February 26, 2025
Programming
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
髙木 友稀
@kiwi_yuki
2025 年 2 月 26 日
食べログ x ANDPAD x Sansan モバイル勉強会 #2
ANDPAD inc
February 26, 2025
More Decks by ANDPAD inc
See All by ANDPAD inc
入社半年で感じた、急成長するプロダクトを支えるCREに求められるソフトスキルとは?
andpad
0
24
R8 の設定見直しでアプリサイズ削減
andpad
0
240
Go 探無比ワークショップ開催レポート
andpad
0
100
self-service-infrastructure-with-argocd-and-atlantis
andpad
0
24
実行場所を意識させない i18n API を作った話
andpad
1
280
Go 1.27 における memory allocation の高速化
andpad
0
490
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
240
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
170
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
660
Other Decks in Programming
See All in Programming
オーケストレーション記述言語 Katari
yukikurage
0
220
Modernizing iOS Apps
seyfoyun
0
150
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
350
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
170
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.4k
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.5k
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
100
Event is what happens
moro
2
3.5k
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
130
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
140
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
570
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Mind Mapping
helmedeiros
1
430
Why Our Code Smells
bkeepers
PRO
340
58k
YesSQL, Process and Tooling at Scale
rocio
174
15k
KATA
mclloyd
PRO
35
16k
Embracing the Ebb and Flow
colly
88
5.2k
Prompt Engineering for Job Search
mfonobong
0
570
Documentation Writing (for coders)
carmenintech
77
5.6k
Un-Boring Meetings
codingconduct
0
490
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Transcript
© 2025 ANDPAD All Rights Reserved. 1 CocoaPods ライブラリ群の SPM
への移行戦略 Yuki Takagi
© 2025 ANDPAD All Rights Reserved. Confidential 2 Swift Package
Manager 対応、おわってますか? - CocoaPods の Trunk が Read Only へ 2年以内の移行* - 新規の追加、既存の更新が不可能になる - アンドパッドでは現役で CocoaPods のライブラリを使用 * https://blog.cocoapods.org/CocoaPods-Specs-Repo
© 2025 ANDPAD All Rights Reserved. Confidential 3 アンドパッドの iOS
アプリの現状 - アンドパッドでは複数の社内ライブラリを CocoaPods モジュールとして管理* - 各チームがそれぞれのタイミングで移行する - 一時的に SPM / CocoaPods 両対応 CocoaPods アプリ * https://tech.andpad.co.jp/entry/2022/04/28/100000
© 2025 ANDPAD All Rights Reserved. Confidential 4 やること -
移行対象のライブラリが依存しているライブラリがすべてSPM 対応しているかを確認する - podspec をみる - 未対応の場合 → まずはそれを移行するなどして頑張る - Package.swift にライブラリを追加 - コードを修正していく - Bundle を修正する / - #if SWIFT_PACKAGE で分岐 - Storyboard を修正する
© 2025 ANDPAD All Rights Reserved. Confidential 5 難しいところ -
複雑な依存関係が大変 - Flutter Package もある - 強く依存している / SPM 対応してないライブラリ - 実行時にクラッシュする - リソースの取得 - Bundle - ✅ Bundle.module - ❌ Bundle(for: type(of: self)) - Storyboard
© 2025 ANDPAD All Rights Reserved. Confidential - Flutter Package
もある - Flutter の SPM 対応待ち* 6 難しいところ - Flutter Package も考慮する 社内ライブラリ(CocoaPods) アプリ * https://docs.flutter.dev/packages-and-plugins/swift-package-manager/for-plugin-authors
© 2025 ANDPAD All Rights Reserved. Confidential - Flutter Package
もある - Flutter の SPM 対応待ち* 7 難しいところ - Flutter Package も考慮する 社内ライブラリ(Flutter Package) アプリ 社内ライブラリ(CocoaPods) * https://docs.flutter.dev/packages-and-plugins/swift-package-manager/for-plugin-authors
© 2025 ANDPAD All Rights Reserved. Confidential - 強く依存している /
SPM対応してないライブラリ - RxSwift などほぼ全てに依存しているライブラリがある - 一部だけの SPM 移行を妨げる 8 難しいところ - 複雑な依存関係 Rx Swift 社内ライブラリ(CocoaPods) アプリ 社外ライブラリ(CocoaPods)
© 2025 ANDPAD All Rights Reserved. Confidential 9 難しいところ -
実行時にクラッシュする - Bundle の取得時に実行時クラッシュする - CocoaPods / SPM どちらの環境か確認してBundleを返す
© 2025 ANDPAD All Rights Reserved. Confidential 2022年4月より現職の iOS アプリエンジニア
GitHubActions、Bitrise の CI/CD の整備やメンテナンスし、効率 的な開発環境の構築に興味がある 趣味はキャンプやラーメン巡り X: https://x.com/kiwi_yuki 高木 友稀 株式会社アンドパッド 開発本部 SWE Profile | 経 歴 10 自己紹介
© 2025 ANDPAD All Rights Reserved. Confidential 11 まとめ -
アンドパッドにおけるライブラリ群の現状 - CocoaPods のライブラリを SPM 対応する際のやることを紹介 - 実際にやってみる際に辛いポイントを紹介 - Flutter への依存 - ほかライブラリへの依存により、部分的な移行が難しい - 実行時クラッシュ