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
pixivコミックでのXcode16対応
Search
atomic
February 27, 2025
Technology
0
85
pixivコミックでのXcode16対応
2025/02/27に行われたAppNightの登壇資料です
atomic
February 27, 2025
Tweet
Share
More Decks by atomic
See All by atomic
新卒AndroidエンジニアがOJTで学んだこと
atomic928
0
120
Other Decks in Technology
See All in Technology
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
120
Amazon Aurora のバージョンアップ手法について
smt7174
2
150
JavaにおけるNull非許容性
skrb
2
2.6k
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
260
生成AI “再”入門 2025年春@WIRED TUESDAY EDITOR'S LOUNGE
kajikent
0
120
手を動かしてレベルアップしよう!
maruto
0
220
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.7k
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
110
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
230
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
230
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.2k
4 Signs Your Business is Dying
shpigford
182
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
GitHub's CSS Performance
jonrohan
1030
460k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Designing for humans not robots
tammielis
250
25k
A Modern Web Designer's Workflow
chriscoyier
693
190k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
The Pragmatic Product Professional
lauravandoore
32
6.4k
KATA
mclloyd
29
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Transcript
2025/02/27 pixiv AppNight / atomic pixivίϛοΫͰͷXcode16ରԠ
atomic • 20244݄৽ଔೖࣾ • AndroidΤχδχΞͱͯ͠ೖࣾ • લʹAndroidͰAppNightొஃ • ݱࡏ •
pixivίϛοΫ෦ iOSΤϯδχΞ
ΞδΣϯμ • Xcode16ʹ্͛Δత • ൃੜͨ͠ͱରԠ • ؾΛ͚͓ͭͯ͘ͱྑ͍͜ͱ
ͳͥXcode16ʹ্͛Δͷ͔ʁ
ͳͥXcode16ʹ্͛Δʁ • ྫ௨ΓͰ͋Εɺ20254݄͔ΒXcode16ͰϏϧυͨ͠ΞϓϦͰͳ ͍ͱετΞʹެ։Ͱ͖ͳ͘ͳΔ • 20254݄Ҏ߱ɺApp Store ConnectʹΞοϓϩʔυ͢ΔΞϓϦiOS 18ɺ iPadOS
18ɺtvOS 18ɺvisionOS 2ɺ·ͨwatchOS 11ʹରԠͨ͠SDKͰϏϧυ͢Δ ඞཁ͕͋Γ·͢ɻ • https://developer.apple.com/jp/news/?id=utw4yhtp
ͳͥXcode16ʹ্͛Δʁ • App Storeʹެ։͍ͯ͠ͳͯ͘ϝϦοτ͕͋Δ • Swift6͕͑ΔΑ͏ʹͳΔ • SwiftUI Previewͷվળ •
ϏϧυͷߴԽ • https://developer.apple.com/jp/videos/play/wwdc2024/10135/
ରԠํ๏
खॱ • Xcode16.x ΛΠϯετʔϧ͠Ϗϧυ • αϙʔτ͍ͯ͠Δ֤OSͰಈ࡞֬ೝ • ͕ൃੜͨ͠Օॴͷमਖ਼
ൃੜͨ͠ • λϒόʔͷҐஔ͕ҧ͏ • Ϟʔμϧͷ৭ͱαΠζ͕ҧ͏ • CollectionView͕ಛఆͷಈ࡞ͰΫϥογϡ͢Δ • ςΩετϦϯΫ͕ಈ࡞͠ͳ͍
λϒόʔͷҐஔ͕ҧ͏
λϒόʔͷҐஔ͕ҧ͏ͷରԠ • iPadOS18Ͱλϒόʔ্͕ʹҠಈͨ͠ ैདྷ iPadOS18
λϒόʔͷҐஔ͕ҧ͏ͷରԠ • iPadOS18͔Β༷͕มߋ͞Εͨ https://developer.apple.com/documentation/uikit/elevating-your-ipad-app-with-a-tab-bar-and-sidebar#overview
λϒόʔͷҐஔ͕ҧ͏ͷରԠ • ํᶃ ৽͍͠λϒόʔͷUIʹ߹ΘͤͯɺσβΠϯΛ৽ • ϝϦοτɿࠓޙ৽UI͕ओྲྀʹͳΔͱࢥΘΕΔ • σϝϦοτɿ΄΅શͯͷը໘ʹӨڹ͠ɺίετ͕େ͖͍ • ํᶄ
iPadOS18Ͱैདྷ௨ΓͷUIʹͳΔΑ͏ʹରԠ • ϝϦοτɿํᶃΑΓίετ͕খ͍͞ • σϝϦοτɿઌԆ͍ͯ͠͠Δ͚ͩͰɺ͍ͣΕ৽UIʹରԠ͢Δ͜ͱʹͳΓͦ͏
λϒόʔͷҐஔ͕ҧ͏ͷରԠ • ํᶃ ৽͍͠λϒόʔͷUIʹ߹ΘͤͯɺσβΠϯΛ৽ • ϝϦοτɿࠓޙ৽UI͕ओྲྀʹͳΔͱࢥΘΕΔ • σϝϦοτɿ΄΅શͯͷը໘ʹӨڹ͠ɺίετ͕େ͖͍ • ํᶄ
iPadOS18Ͱैདྷ௨ΓͷUIʹͳΔΑ͏ʹରԠ • ϝϦοτɿํᶃΑΓίετ͕খ͍͞ • σϝϦοτɿઌԆ͍ͯ͠͠Δ͚ͩͰɺ͍ͣΕ৽UIʹରԠ͢Δ͜ͱʹͳΓͦ͏
• λϒͷཁૉΛίϐʔͨ͠λϒόʔΛ࡞͢Δ • طଘͷλϒόʔඇදࣔʹɺΞΠςϜߴ͞Λίϐʔͨ͠λϒόʔΛaddSubView͢Δ iPadOS18Ͱैདྷ௨Γͷλϒόʔʹ͢Δ
• ҙ • UITabBarControllerଐͷTabBarͰͳ͘ɺࣗલͰ༻ҙͨ͠UITabBarͰ͋Δ • Πϝʔδͱͯ͠ը໘ʹͨͩViewΛ͚ͬͯΔ͚ͩ • Safe areaΛߟྀͯ͋͛͠ͳ͍ͱεΫϩʔϧͷߴ͞ܭࢉ͕ζϨͯ͠·͏ iPadOS18Ͱैདྷ௨Γͷλϒόʔʹ͢Δ
• ͋͘·ͰҰ࣍ରԠͰ͋Γɺ࠷ऴతʹ৽λϒόʔʹ߹Θ͍ͤͯ͘༧ఆ • ৽λϒόʔʹରԠ͍ͯ͠Δ࣮ྫগͳ͍ͷͰ༷ࢠΛݟ͍ͨ ࠓޙͷํ
ϞʔμϧͷαΠζ͕มΘͬͨ
ϞʔμϧͷαΠζ͕มΘͬͨͷରԠ • ൃੜͨ͠ࣄ
ϞʔμϧͷαΠζ͕มΘͬͨͷରԠ • ݪҼ • modalPresentationStyleΛࢦఆ͠ͳ͍߹ʹɺࣗಈͰબ͞ΕΔstyle ͕.pageSheet͔Β.formSheetʹมߋ͞Ε͍ͯͨ • ରԠ • ໌ࣔతʹstyleΛࢦఆ͢Δ
CollectionViewͰΫϥογϡ͕ൃੜ
CollectionViewͰΫϥογϡ͕ൃੜͨ͠ͷ ରԠ • cellForItemAtͰจࣈม͢Δͱ͍͏ॏΊͷॲཧΛ࣮ߦ͍ͯͨ͠ՕॴͰ Ϋϥογϡ͕ൃੜ͢ΔΑ͏ʹͳͬͨ • ςΩετΛදࣔ͢ΔͨͼʹจࣈมΛߦͳ͍ͬͯͨͷͰɺࣄલʹม ͓͖ͯ͠࠶ར༻͢ΔΑ͏ʹͨ͠
hitTestͰTextView͕λοϓͰ͖ͳ͘ ͳͬͨ
hitTestͰTextView͕λοϓͰ͖ͳ͍ͷରԠ • TextViewΛλοϓͯ͠hitTestͰUITextView͕ؼͬͯ͜ͳ͍ • super.hitTest(point, with: event)ͰฦΔ • iOS18ͰUIView •
iOS17ͰTextView
hitTestͰTextView͕λοϓͰ͖ͳ͍ͷରԠ • ViewHierarchyͰ֬ೝ͢ΔͱTextViewͷߏ͕มΘ͍ͬͯͨ iOS17 iOS18
hitTestͰTextView͕λοϓͰ͖ͳ͍ͷରԠ • औಘ͞ΕͨUIView͕TextViewͷsubViewʹؚ·Ε͍ͯΔ͔Ͳ͏͔Λఆ ͠ɺؚ·Ε͍ͯͨΒTextViewΛฦ͢Α͏ʹͨ͠
ؾΛ͚͓ͭͯ͘ͱྑ͍͜ͱ
ؾΛ͚͓ͭͯ͘ͱྑ͍͜ͱ • ࠷ॳͷಈ࡞֬ೝ͚ͩͰɺશͯͷʹؾ͔ͮͳ͍ • ରԠ͙ͯ͢͠ϦϦʔεͰͳ͘ɺ·ͣ։ൃڥʹೖΕͯɺଞͷ࡞ۀΛ ͭͭ͠όά͕ͳ͍͔֬ೝ͢Δ • 2ि͙ؒΒ͍ݟ͓ͯ͘ͱ҆৺ • ։ൃڥͰࢼݧಋೖ͢ΔظؚؒΊͯɺରԠ࣌ظΛߟ͑Δ