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 Mangerのバグを直した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
k-kohey
September 26, 2023
Technology
1.7k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift Package Mangerのバグを直した話
k-kohey
September 26, 2023
More Decks by k-kohey
See All by k-kohey
ゲームボーイアドバンスでSwiftを動かそう
k_koheyi
0
1.5k
swift-async-algorithms...? へえ…面白そうじゃん…?
k_koheyi
3
1.7k
[社内勉強会]Parchment-swiftの実装説明
k_koheyi
0
200
[社内勉強会]Combineの説明
k_koheyi
0
58
あるインスタンスの取る値が 何パターンあるか数えてみるンゴ!
k_koheyi
1
210
Tuistを用いた Xcode Project管理の紹介
k_koheyi
0
280
SwiftでわかるSOLID原則 iOSDC 2020
k_koheyi
3
3.1k
Other Decks in Technology
See All in Technology
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
330
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
180
Baseline対応のDOMの型定義を作った
uhyo
2
650
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
220
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
0
500
そのタスクオンスケですか?
poropinai1966
0
120
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
250
プロンプト_きのこカンファレンス2026_LT
yurufuwahealer
0
130
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
510
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
0
140
RAGの精度向上とエージェント活用
kintotechdev
2
120
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
170
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Believing is Seeing
oripsolob
1
160
Product Roadmaps are Hard
iamctodd
55
12k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
We Have a Design System, Now What?
morganepeng
55
8.2k
Paper Plane
katiecoart
PRO
1
52k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
880
It's Worth the Effort
3n
188
29k
Done Done
chrislema
186
16k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Unsuck your backbone
ammeep
672
58k
Skip the Path - Find Your Career Trail
mkilby
1
160
Transcript
4XJGU1BDLBHF.BOHFS ͷόάΛͨ͠ ू·Ε4XJGU͖ʂ4XJGUѪձWPM!%F/" גࣜձࣾϦΫϧʔτ LLPIFZ
ಥવͰ͕͢ 4XJGU1BDLBHF.BOBHFSͬͯ·͔͢ʁ🙋🙋
͜ͷ-5Ͱ͢ࣄʛഎܠ • 4XJGU1BDLBHF.BOBHFSΛͬͯ$ݴޠͷ5BSHFUΛ࡞Δ͜ͱ͕Ͱ͖Δ • 5BSHFUʹιʔεϑΝΠϧ͚ͩͰͳ͘ϔομʔϑΝΠϧؚΉ͜ͱ͕Ͱ͖Δ • $ݴޠͷ5BSHFUιʔεϑΝΠϧ͕̍ͭҎ্ؚ·Εͳ͍ͱ࡞Εͳ͍ όά͕͋ͬͨʢ˞ʣ • ιʔεϑΝΠϧؚ͕·Εͳ͍ͱΤϥʔΛग़ྗ͢Δ
• ݪཧతʹϔομʔϑΝΠϧͷΈͰΑ͍ͣ ʢ˞ʣhttps://github.com/apple/swift-package-manager/issues/4806
͜ͷ-5Ͱ͢ࣄʛഎܠ ͦͷͨΊϔομʔϑΝΠϧ͔͠ඞཁͳ͍5BSHFUͰۭͷ࣮Λ ιʔεϑΝΠϧͱͯ͠Ճ͢ΔϫʔΫΞϥϯυ͕ੜ https://github.com/apple/swift-numerics/blob/main/Sources/_NumericsShims/_NumericsShims.c (意訳) - このファイルは NumericShims モジュールを ビルドするためだけに存在する
- このファイルがないと swiftpm は何もビルド しない
͜ͷ-5Ͱ͢ࣄʛഎܠ ͨ͠🎉
4XJGU1BDLBHF.BOBHFSίϯτϦϏϡʔτॳ৺ऀ ͕ίϯτϦϏϡʔτͨ͠ମݧΛجʹ ಉ͘͡ॳ৺ऀ͕ίϯτϦϏϡʔτ͢Δࡍͷॿ͚ʹͳΔΑ͏ʹ ݟΛڞ༗ɾൃද͍ͨ͠ͱࢥ͍·͢ʂ
͜ͷ-5Ͱ͢ࣄʛΞδΣϯμ ҎԼͷ߲ʹԊͬͯ͠·͢ • ։ൃ͢Δલ४උ • मਖ਼͢Δ • 13Λ࡞Δ • ײ
։ൃ͢Δલ४උʛJTTVFΛݟ͚ͭΔ • JTTVFͨ͘͞Μ͋Δ • ݅ͷJTTVF͕PQFO͞Ε͍ͯΔʢ࣌ʣ • HPPEpSTUJTTVFϥϕϧͰϑΟϧλ͢ΔͱͷJTTVFΛݟ͚͍ͭ͢ https://github.com/apple/swift-package- manager/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
։ൃ͢Δલ४උʛJTTVFΛબ͢Δ JTTVFΛબ͢Δ্ͰҎԼͷ֬ೝΛ͢Δͱྑͦ͞͏ͩͬͨ • طʹ'JYࡁΈͷJTTVFͰͳ͍͔ • JTTVF͕PQFOͰɺ࣮ॏෳ͢Δ༰ͷJTTVF͕ଘࡏ͠ɺͦͷJTTVF͕طʹमਖ਼͞Ε͍ͯΔͱ͍͏ έʔε͕͋Δ • Ί΅͍͠ΩʔϫʔυͰݕࡧ͠ɺࣅͨΑ͏ͳJTTVF͕ͳ͍͔֬ೝ͢Δͱྑ͍ •
طʹJTTVFʹணख͍ͯ͠Δਓ͕͍ͳ͍͔ • ΞαΠϯ͕ܾ·ͬͯΔΑ͏ʹݟ͑ͯɺ͍ؒQFOEJOHʹͳ͍ͬͯΔͷ͋Δʹҙ • मਖ਼ํʹؔͯ͠ • ϝϯςφʔͷํ͕Օॴमਖ਼ํʹؔͯ͠ΞυόΠε͍ͯ͠ΔJTTVFΛࢄݟͨͨ͠Ίɺฉ͍ͨΒ ڭ͑ͯ͘Εͦ͏ͳงғؾ͕͋ͬͨ
։ൃ͢Δલ४උ ʛڥߏங ڥߏங9DPEF͕͑Δڥͩͱ؆୯ʹߦ͑Δʢ˞ʣ 9DPEFΛΠϯετʔϧ IUUQTHJUIVCDPNBQQMFTXJGUQBDLBHFNBOBHFSΛ DMPOF͢Δ ϧʔτσΟϨΫτϦʹଘࡏ͢Δ1BDLBHFTXJGUΛ։͘
ҙͷ4DIFNFΛબ͠Ϗϧυ͢Δ ςετΛ࣮ߦ͢Δ߹4XJGU1.1BDLBHFΛબ ʢ˞ʣhttps://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#using-xcode-easiest
मਖ਼͢ΔʛΞτϥΠϯ ࣗͷमਖ਼ΛྫʹͱΔͱҎԼͷΑ͏ͳաఔͰमਖ਼Λߦͬͨ ग़ྗ͔ΒՕॴΛಛఆ ՕॴʹςετίʔυΛՃ ςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼
मਖ਼͢Δʛग़ྗ͔ΒՕॴΛಛఆ मਖ਼ͷରͱͳΔ)FBEFSϑΝΠϧͷΈΛؚΜͩ5BSHFUΛ࡞Ζ͏ ͱ͢ΔͱɺҎԼͷΑ͏ͳग़ྗ͕ಘΒΕΔࣄ͕Θ͔͍ͬͯͨ • [warning]: Source files for target Bar
should be located under 'Sources/Bar', or a custom sources path can be set with the 'path' property in Package.swift • [error]: target 'Bar' referenced in product 'Bar' is empty
मਖ਼͢Δʛग़ྗ͔ΒՕॴΛಛఆ ग़ྗΛجʹϓϩδΣΫτͰݕࡧΛ͔͚ΔͱɺΤϥʔΛग़ྗ͍ͯ͠ΔՕॴɺ ͭ·ΓՕॴΛѲ͢Δ͜ͱ͕Ͱ͖ͨ
ᶃΤϥʔ࣌ͷग़ྗΛߦ͏ ͕ؔ໌ ᶄ্هͷؔUBSHFU͕OJMͷͱ͖ʹ ݺΕΔ͜ͱ͕໌ ᶅUBSHFUΛ࡞ΔࡍʹOJMΛฦ͍ͯ͠Δ Օॴ͕໌
मਖ਼͢ΔʛՕॴʹςετίʔυΛՃ • Օॴ͕໌ͨ͠ͷͰɺςετίʔυΛՃͯ͠σόοά͢Δ४උΛߦ ͳͬͨ • 4XJGU1BDLBHF.BOBHFSΛϏϧυͯ͠ɺੜ͞Εͨ$-*πʔϧΛͬͯσ όοά͢Δํ๏͋Δ͕໘ͳͷͰۃྗආ͚ͨ • 13࡞Δલʹ࠷ऴ֬ೝͱͯ͜͠ͷํ๏Λͬͯσόοάͨ͠ •
4XJGU1BDLBHF.BOBHFSΛTXJGUCVJME͢ΔͱCVJMEʹTXJGUQBDLBHFTXJGUCVJMEίϚϯυ͕ੜ͞ΕΔ(※) (※)https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#local-development
मਖ਼͢ΔʛՕॴʹςετίʔυΛՃ • ଞͷςετέʔεΛਅࣅͯ͠ όά͕ൃੜ͢Δঢ়گΛ࠶ݱͨ͠ ςετέʔεΛՃ • ͪΖΜςετέʔεࣦഊ͢ Δ͕ɺҙਤ͍ͯͨ͠Τϥʔग़ྗ ΛಘΒΕͯ҆৺ͨ͠ •
͋ͱɺ͜ͷςετέʔε͕ޭ ͢ΔΑ͏ʹमਖ਼͢Ε͍͍
मਖ਼͢Δʛςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼ • 5BSHFUΛ࡞͢Δࡍʹ5BSHFUΛOJMʹ͢Δ͔அ͍ͯ͠Δ͕ɺ ͦͷஅʹϔομʔͷ༗ແ͕ߟྀ͞Εͯͳ͔ͬͨ • TPVSDFTSFTPVDFT͕ۭͰϔομʔ͕͋ΕUBSHFU͕OJMʹͳΒͳ͍Α ͏ʹͨ͠
मਖ਼͢Δʛςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼ • 5BSHFUΛ࡞͢Δࡍʹ5BSHFUΛOJMʹ͢Δ͔அ͍ͯ͠Δ͕ɺ ͦͷஅʹϔομʔͷ༗ແ͕ߟྀ͞Εͯͳ͔ͬͨ • TPVSDFTSFTPVDFT͕ۭͰϔομʔ͕͋ΕUBSHFU͕OJMʹͳΒͳ͍Α ͏ʹͨ͠ ςετޭ🎉
͋ͱ13Λ࡞Δ͚ͩʂ
13Λ࡞ΔʛίϯτϦϏϡʔτΨΠυʹै͏ https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#creating-pull- requests
13Λ࡞ΔʛίϯτϦϏϡʔτΨΠυʹै͏ https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#creating-pull- requests apple/swift-format じゃないんだ😯
13Λ࡞ΔʛϨϏϡʔΛड͚Δ すんなりマージしてくれた
ײ • ීஈར༻͍ͯ͠ΔπʔϧʹίϯτϦϏϡʔτ͢Δ͜ͱͰɺ ΤϯδχΞϞνϕ্͕͕ͬͨ • ࠓճͷमਖ਼؆୯ͳϑϥά੍ޚͷϛεΛਖ਼͢ͷ͕ͩͬͨɺͦͷΑ͏ͳ όά͕4XJGU1BDLBHF.BOBHFSʹ͋Δͷ͕ڻ͍ͨ • ௐࢠʹͷͬͯଞͷJTTVF͕ͨ͠ɺ13Λग़ͨ͋͠ͱʹطʹमਖ਼ࡁΈͷ JTTVFͩͬͨࣄ͕໌͠൵͘͠ͳͬͨ
• ઌड़ͨ͠JTTVFͷ୳͠ํʹؔ͢Δࣗͷࣦഊஊ͔ΒͰ͢😅
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠