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.8k
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
Skip Skip Run Run Run ♫
temoki
0
620
さようならRxSwift こんにちは*****
temoki
1
380
Androidで不安定なPlatform Viewsとの闘い
temoki
0
890
iOSパッケージマネージャー奮闘記 完結編
temoki
2
580
事業譲渡を受けたアプリとの統合で失敗、 そしてユーザーからの評価回復に至るまで
temoki
1
630
Apple Vision Proデベロッパラボに参加してきた
temoki
0
480
年末年始の成果、そして現状の紹介
temoki
0
210
Apple HIGのススメ
temoki
0
300
ChatGPTにSVGでお絵描きさせる
temoki
0
630
Other Decks in Programming
See All in Programming
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
160
パッケージ設計の黒魔術/Kyoto.go#63
lufia
2
370
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.7k
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
150
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
690
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
220
旅行プランAIエージェント開発の裏側
ippo012
1
530
エンジニアのための”最低限いい感じ”デザイン入門
shunshobon
0
130
Updates on MLS on Ruby (and maybe more)
sylph01
1
160
Portapad紹介プレゼンテーション
gotoumakakeru
1
130
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
1
170
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
150
Featured
See All Featured
Done Done
chrislema
185
16k
Side Projects
sachag
455
43k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
We Have a Design System, Now What?
morganepeng
53
7.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
A designer walks into a library…
pauljervisheath
207
24k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
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ϓϩδΣΫτͱͷҧ͍ΛѲ͓ͯ͘͠ඞཁ͕͋Δ