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
Swift Package Manager によるマルチモジュール構成
Search
Tomoki Kobayashi
September 10, 2021
Programming
3
1.3k
Swift Package Manager によるマルチモジュール構成
2021/9/10 に開催された「みそかつモバイル#1」での発表資料です
https://misokatsu-web.connpass.com/event/221035/
Tomoki Kobayashi
September 10, 2021
Tweet
Share
More Decks by Tomoki Kobayashi
See All by Tomoki Kobayashi
iOSパッケージマネージャー奮闘記 完結編
temoki
2
120
事業譲渡を受けたアプリとの統合で失敗、 そしてユーザーからの評価回復に至るまで
temoki
1
280
Apple Vision Proデベロッパラボに参加してきた
temoki
0
150
年末年始の成果、そして現状の紹介
temoki
0
60
Apple HIGのススメ
temoki
0
110
ChatGPTにSVGでお絵描きさせる
temoki
0
350
Figmaプラグイン開発のススメ
temoki
0
820
エンジニア is 何?🤔
temoki
0
160
iOSパッケージマネージャー奮闘記
temoki
3
3.3k
Other Decks in Programming
See All in Programming
TypeScriptから始める VR生活
tamagokakeg
2
120
Implementing Design Systems in Swift
seyfoyun
2
530
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
560
HonoのRPCで真の型安全が欲しかった
kosei28
1
140
PHPコードの実行モデルを理解する / Understanding-the-PHP-Execution-Model
shin1x1
0
1.1k
The Cutting Edge Of Versioning (LambdaConf 2024)
chriskrycho
0
250
Embedding it into Ruby code
soutaro
2
320
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
770
How to improve maintainability and readability of your automated tests? ( #scrumniigata )
teyamagu
PRO
1
130
slog登場に伴うloggerの取り回し手法の見直し / kamakura.go #6
arthur1
0
140
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
13
4.4k
Amazon Aurora Serverless v2が意外と高かった話と、AWS Database Migration Serviceの話
satoshi256kbyte
1
110
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.3k
The Mythical Team-Month
searls
217
42k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
We Have a Design System, Now What?
morganepeng
43
6.8k
Six Lessons from altMBA
skipperchong
22
3k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Faster Mobile Websites
deanohume
300
30k
Transcript
!UFNPLJ 4XJGU1BDLBHF.BOBHFSʹΑΔ ϚϧνϞδϡʔϧߏ Έ͔ͦͭϞόΠϧ
5PNPLJ,PCBZBTIJ !UFNPLJ w גࣜձࣾελϝϯʢ໊ݹʣ w ΤϯδχΞϦϯάɾϚωʔδϟʔ w J1IPOF(ຊ্ͱಉ࣌ʹ J1IPOFΞϓϦ։ൃΛ࢝ΊΔ
w "OESPJE 'MVUUFSʹखΛग़͢
📖ΒΓදࢴͰݟ͚ͭΔֆຊ͞ΜΞϓϦ 'MVUUFSͰJ04"OESPJE8FCΞϓϦΛϦϦʔεʂ https://perali.hiraku.space/about
9DPEFͷϞδϡʔϧ
import UIKit import SwiftUI 👈ίϨ
ϞδϡʔϧΛ͚ΔϝϦοτɾσϝϦοτ w ✅ଞͷϞδϡʔϧͷެ։ൣғΛίϯτϩʔϧͰ͖Δ w ✅Ϟδϡʔϧ୯ҐͰͷϏϧυʹΑΓϏϧυ͕࣌ؒॖ͞ΕΔ w ❌దʹϞδϡʔϧΛׂ͢Δқ͕ߴ͍ w ❌ϞδϡʔϧؒΛૄ݁߹ʹ͢ΔͨΊͷநԽʹΑΓෳࡶ্͕͕͞Δ
ྫ ;PPϞδϡʔϧΛఆٛ
ྫ ;PPϞδϡʔϧΛ͏
9DPEFͷϚϧνϞδϡʔϧߏ
.VMUJ5BSHFUT 9DPEFϓϩδΣΫτͷதʹෳͷλʔήοτ
.VMUJ1SPKFDUT 9DPEFϫʔΫεϖʔεͷதʹෳͷ9DPEFϓϩδΣΫτ
9DPEF1SPKFDUϑΝΠϧͱͷ ಆ͍͕େมͳ͜ͱʹʜ
9DPEF1SPKFDUϑΝΠϧͱͷ ಆ͍͕େมͳ͜ͱʹʜ
🆕.VMUJ-PDBM4XJGU1BDLBHFT
🆕.VMUJ-PDBM4XJGU1BDLBHFT 9DPEFϓϩδΣΫτͷதʹϩʔΧϧཧͷ4XJGUύοέʔδΛෳஔ
.VMUJ-PDBM4XJGU1BDLBHFTߏͷ࡞Γํ ᶃΞϓϦ༻ͷ9DPEFϓϩδΣΫτΛ༻ҙ MyApp MyApp.xcodeproj MyApp
.VMUJ-PDBM4XJGU1BDLBHFTߏͷ࡞Γํ ᶄMJCSBSZλΠϓͷ4XJGUύοέʔδΛ࡞Δ MyApp MyApp.xcodeproj MyApp ModuleA mkdir
ModuleA cd $_ swift package init
.VMUJ-PDBM4XJGU1BDLBHFTߏͷ࡞Γํ ᶅύοέʔδͷσΟϨΫτϦΛ9DPEFͷ1SPKFDU/BWJHBUPSυϩοϓ MyApp MyApp.xcodeproj MyApp ModuleA ModuleA
.VMUJ-PDBM4XJGU1BDLBHFTߏͷ࡞Γํ ᶆՃͨ͠ύοέʔδΛΞϓϦͷϦϯΫରʹઃఆ͢Δ MyApp MyApp.xcodeproj MyApp ModuleA
.VMUJ-PDBM4XJGU1BDLBHFTߏͷ࡞Γํ ᶇύοέʔδؒͷґଘؔ1BDLBHFTXJGUʹఆٛ MyApp MyApp.xcodeproj MyApp ModuleA ModuleB ґଘ
✅Ϟδϡʔϧͷઃఆ1BDLBHFTXJGU 9DPEFϓϩδΣΫτϑΝΠϧʹൺͯѹతʹ؆ܿʹʂ ෳਓ։ൃͰͷίϯϑϦΫτͷۤ௧αϤφϥ👋
✅Ϟδϡʔϧ୯ҐͰͷܰྔͳ։ൃ 4XJGUύοέʔδͷΈ9DPEFͰ։͍ͯ։ൃ͢ΕϏϧυαΫαΫಈ͘ʂ
'"2ʢࢲ͕ࠔͬͯௐͨ͜ͱʣ
4XJGU6*ͷϓϨϏϡʔදࣔͰ͖·͔͢ʁ ✅Ͱ͖·͢ʂͨͩ͠4XJGU6*͕ར༻Ͱ͖Δ1MBUGPSNͷࢦఆ͕ඞਢɻ ·ͨɺϓϨϏϡʔ༻ʹ͏1SFWJFX$POUFOUʹ૬͢Δػೳ͕ͳͦ͞͏ɻ 9DPEF1SFWJFXΛ༻͢Δ߹ 4XJGU6*͕ར༻Ͱ͖Δ1MBUGPSN͕ඞਢ
ύοέʔδʹϦιʔεؚΊΒΕ·͔͢ʁ ✅Ͱ͖·͢ʂYDBTTFUT TUPSZCPBSE TUSJOHTͱ͍ͬͨҰൠతͳ ϦιʔεϑΝΠϧࣗಈతʹύοέʔδͷ#VOEMFʹಉࠝ͞Ε·͢ɻ ϩʔΧϥΠζɾϦιʔεΛؚΉ߹ EFGBVMU-PDBMJ[BUJPOͷઃఆΛʂ ͦͷଞͷϦιʔεϑΝΠϧ 5BSHFUʹ໌͍ࣔͯͩ͘͠͞
JG%(Ͱσόοά࣌ͷίʔυΛॻ͚·͔͢ʁ ✅ॻ͚·͢ʂಠࣗͷίϯύΠϧ࣌ϑϥά1BDLBHFTXJGUʹఆٛͰ͖·͢ɻ
ύοέʔδϏϧυ࣌ʹ4XJGU-JOUΛ࣮ߦ͍ͨ͠ʂ ❌Ͱ͖·ͤΜʂ w 9DPEFϓϩδΣΫτͷ#VJME1IBTF4DSJQU૬ͷΈ͕͋Γ·ͤΜ w 4DIFNFͷ#VJME1SF"DUJPOͰ9DPEFͰ-JOU݁ՌΛͰදࣔͰ͖·ͤΜ TXJGUMJOU fi YͷΈͳΒ0,ʣ
w ΞϓϦຊମϓϩδΣΫτͷϏϧυ࣌ʹҰׅνΣοΫ͢Δ͔͠ͳ͍ͷ͔ʁ
·ͱΊ
·ͱΊ w ΞϓϦ։ൃʹ͓͍ͯϩʔΧϧཧͷ4XJGUύοέʔδͰ ϚϧνϞδϡʔϧߏΛ࣮ݱͰ͖Δ w 9DPEFϓϩδΣΫτʹΑΔϚϧνϞδϡʔϧߏΑΓɺ 1BDLBHFTXJGUʹΑΓγϯϓϧʹཧͰ͖Δ w 9DPEFϓϩδΣΫτͱͷҧ͍ΛѲ͓ͯ͘͠ඞཁ͕͋Δ