Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManage...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ANDPAD inc
February 26, 2025
Programming
430
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
実行場所を意識させない i18n API を作った話
andpad
1
56
Go 1.27 における memory allocation の高速化
andpad
0
380
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
180
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
140
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
540
ANDPAD Ruby sponsor session in RubyKaigi 2026
andpad
0
260
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
2
1.2k
アプリから 360 度カメラ「RICOH THETA」に接続して写真を撮影する
andpad
0
90
アンドパッドが提供する Drinks and Local Meals と Drinkup を大公開
andpad
0
160
Other Decks in Programming
See All in Programming
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
330
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
290
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
53
35k
XHTMLが残したもの
yosuke_furukawa
PRO
1
380
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
160
Oxlintはいいぞ(続)
yug1224
1
540
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
110
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
130
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
200
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
620
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
0
150
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
The Spectacular Lies of Maps
axbom
PRO
1
970
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
260
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
410
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
240
Mind Mapping
helmedeiros
PRO
1
340
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Speed Design
sergeychernyshev
33
2.1k
A Soul's Torment
seathinner
7
3.5k
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 への依存 - ほかライブラリへの依存により、部分的な移行が難しい - 実行時クラッシュ