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
Swift Package Manager によるマルチモジュール構成
Search
Tomoki Kobayashi
September 10, 2021
Programming
2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift Package Manager によるマルチモジュール構成
2021/9/10 に開催された「みそかつモバイル#1」での発表資料です
https://misokatsu-web.connpass.com/event/221035/
Tomoki Kobayashi
September 10, 2021
More Decks by Tomoki Kobayashi
See All by Tomoki Kobayashi
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
3.7k
Liquid Glass を Metal Shader で描きたいだけの人生だった…
temoki
0
310
Skip Skip Run Run Run ♫
temoki
0
1.1k
さようならRxSwift こんにちは*****
temoki
1
680
Androidで不安定なPlatform Viewsとの闘い
temoki
0
1.3k
iOSパッケージマネージャー奮闘記 完結編
temoki
2
810
事業譲渡を受けたアプリとの統合で失敗、 そしてユーザーからの評価回復に至るまで
temoki
1
840
Apple Vision Proデベロッパラボに参加してきた
temoki
0
660
年末年始の成果、そして現状の紹介
temoki
0
350
Other Decks in Programming
See All in Programming
Are APIs Still Relevant in the AI Era?
soyuka
0
460
パスワード再設定メールのURLについて知っておこう
uyuki234
0
140
パーソナライズPodcastを作った話
repunit11
0
130
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
230
Workers Cache を知る
syumai
0
350
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
カツオ、ご期待ください
suneo3476
0
170
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
180
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
0
390
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
630
Java 27新機能 / Java 27 new features
kishida
2
220
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
We Have a Design System, Now What?
morganepeng
55
8.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Why Our Code Smells
bkeepers
PRO
340
58k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Automating Front-end Workflow
addyosmani
1369
210k
Building Adaptive Systems
keathley
44
3.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
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ϓϩδΣΫτͱͷҧ͍ΛѲ͓ͯ͘͠ඞཁ͕͋Δ