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
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
Search
noppefoxwolf
February 28, 2024
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
February 28, 2024
More Decks by noppefoxwolf
See All by noppefoxwolf
柔軟性のあるUIで、多くの環境でアプリを活躍させる/iOSDC26
noppefoxwolf
0
700
High performance GIF playback/iOSDC25
noppefoxwolf
1
670
Spice up your notifications/try!Swift25
noppefoxwolf
3
850
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
1.4k
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
79
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
5.2k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
3.3k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
5.7k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.7k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Marketing to machines
jonoalderson
1
5.8k
Automating Front-end Workflow
addyosmani
1369
210k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
Making the Leap to Tech Lead
cromwellryan
135
10k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
طଘΞϓϦΛvisionOSରԠͯ͠Ϧ Ϧʔεͨ͠ visionOS Engineer ΦϯϥΠϯLTձ vol.5 1
աڈͷൃද • Yahooͷyamaken͞Μ͕ಉ͡ςʔϚͰա ڈʹൃද͞Εͯ·͢ • ॏෳ͢Δ༰1ඈ͍͖ͯ͠·͢ 1 ref: h(ps:/ /speakerdeck.com/yamakentoc/ji-cun-
ahuriwovisionostehirutosurukotu 2
noppe • DeNA Co., Ltd. • 𝕏: @noppefoxwolf • mastodon:
@mstdn.jp@noppefoxwolf 3
ࠓͷ͓ طଘΞϓϦΛvisionOSରԠͯ͠ϦϦʔεͨ͠ • ϚΠΫࢮΜͩΒ୭͔𝕏ʹDM͍ͩ͘͞ 4
طଘΞϓϦ • DAWN for mastodon • $2.99 • iOS, iPadOS,
macOS(Catalyst) • Swi@ 5.9 • UIKit & Swi@UI • Swi@ Package Manager 5
݁ɿରԠͰ͖ͨ • ͓ΊͰͱ͏ʂʂ • Apple Vision Proͷϩʔϯνʹؒʹ߹ͬ ͨ • ରԠظؒ̍िؒ͘Β͍
• Susan Presco2(෭ࣾ)͔ΒײँͷΤϞ ͍ϝʔϧ͕དྷͨ 6
݁ɿରԠͰ͖ͨ • ͓ΊͰͱ͏ʂʂ • Apple Vision Proͷϩʔϯνʹؒʹ߹ͬ ͨ • ରԠظؒ̍िؒ͘Β͍
• Susan Presco2(෭ࣾ)͔ΒײँͷΤϞ ͍ϝʔϧ͕དྷͨ 7
visionOSରԠͷબࢶ 1. iOS SDKͰϏϧυ 2. visionOS SDKͰϏϧυ 3. ৽͘͠࡞Γ͢ 8
iOS SDKͰϏϧυ • iPadΞϓϦͱͯ͠ಈ࡞͢Δ • ެ։ઃఆΛมߋ͠ͳ͚Εࣗಈతʹ iPadΞϓϦͱͯ͠ެ։͞ΕΔ • ϗʔϜը໘ʹՃ͞Εͣɺ Compa*ble
AppsʹೖΔ 9
iOS SDKͰϏϧυ • iPadΞϓϦͱͯ͠ಈ࡞͢Δ • ެ։ઃఆΛมߋ͠ͳ͚Εࣗಈతʹ iPadΞϓϦͱͯ͠ެ։͞ΕΔ • ϗʔϜը໘ʹՃ͞Εͣɺ Compa*ble
AppsʹೖΔ 10
visionOS SDKͰϏϧυ • ͪΐͬͱͨ͠मਖ਼͕ඞཁ • UIKit͕ಈ͘ͷͰൺֱత؆୯ • UIͷશ͕ͯvisionOSʹ࠷దԽ͞ΕΔ • ࠓճͬͪ͜ʹઓ
11
ͪΐͬͱͨ͠मਖ਼ • visionOSͰಈ͔ͳ͍ػೳΛແޮԽ • UIͷमਖ਼ • ΞΠίϯͱετΞใͷ४උ 12
visionOSͰಈ͔ͳ͍ػೳΛແޮԽ • Alterna)ve App Icon • ColorScheme • App Extensions
• ରԠͯ͠ͳ͍ϥΠϒϥϦͷରԠɾআ֎ɾஔ 13
Alterna(ve App Icon • visionOS 1.0+ 14
Alterna(ve App Icon • ݺΔ͚Ͳɺಈ͔ͳ͍ • ޓੑͷͨΊʹɺ͜͏͍͏API͕·͊·͊͋Γͦ͏ͳͷͰɺ ཁಈ࡞νΣοΫ 15
ColorScheme • ΞϓϦͷμʔΫϞʔυɾϥΠτϞʔ υͷΓସ͑͢Δػೳ͕͋ͬͨ • overrideUserInterfaceStyleͰ มߋग़དྷΔ͕ɺμʔΫϞʔυɾϥΠ τϞʔυͷݟ͕ͨҰॹ 16
ίʔυͷআ֎ #if os(iOS) alternativeAppIconButton() #endif • #if os(iOS) ~ #endifͰғΉ͜ͱͰϏϧυ࣌ʹআ֎Ͱ͖Δ
17
App Extensions Widget Extensionಈ͔ͳ͍ 18
App Extensions Embed Founda,on ExtensionͷFiltersͰWidgetϑΟϧλ͢Δ 19
App ExtensionsvisionOS SDKͰϏϧυ͢Δ ͜ͱ Designed for iPadʹͳ͍ͬͯΔͱɺຊମ͕visionOS SDKͩͱίέ Δ 20
ରԠͯ͠ͳ͍ϥΠϒϥϦͷରԠɾআ֎ɾஔ PRૹͬͨΓͨ͠ 21
ରԠͯ͠ͳ͍ϥΠϒϥϦͷରԠɾআ֎ɾஔ Twi$erTextEditorࣗલͷίʔυʹஔ͖͑ 22
ରԠͯ͠ͳ͍ϥΠϒϥϦͷରԠɾআ֎ɾஔ ରԠ͕ͦ͠͏ͳͷɺiOSʹ͚ͩೖΕΔ͜ͱͰ͖Δ .product( name: "CropViewController", package: "TOCropViewController", condition: .when(platforms: [.iOS])
), #if canImport(CropViewController) ... #endif 23
UIͷमਖ਼ ΩʔϘʔυ্ͷπʔϧόʔͷAPIͰ͋Δɺ inputAccessoryView͕visionOSͰ ͑ͳ͍ • UIKitͰॻ͍ͯΔ • ૹ৴ͱ͔ॾʑ٧ΊࠐΜͰ͍ͨͷͰࠔͬ ͨ •
ସҊΛ୳͢ 24
UIͷमਖ਼ visionOSɺUIOrnamentʹ࣮ΛҠ͠ ͨ • Swi%UIͰॻ͚Δ • ൺֱతͳΜͰஔ͚Δ 25
UIͷमਖ਼ͷίπ // visionOS ornaments = [UIHostingOrnament { /* SwiftUI ViewBuilder
*/ }] // iOS accessoryView = AccessoryHostingView { /* SwiftUI ViewBuilder */ } UIHos&ngOrnamentΛࢀߟʹɺbodyΛSwi5UIͰॻ͚ΔΑ͏ͳUIΛ ࡞͓ͬͯ͘ͱڞ௨ԽͰ͖ͯศར 26
ແࣄϦϦʔε 27
·ͩ·ͩ࠷దԽଓ͘ • ࣮ػͰ৮ͬͯΈΔͱͲΜͲΜ՝Γ͍ͨࣄ͕ݟ͑ͯ͘Δ • ૢ࡞ɾϘλϯΛݮΒ͍ͨ͠ • ϝσΟΞΛ3DͰද͍ࣔͨ͠ • ͳΜ͔ύϑΥʔϚϯεѱ͍ •
օ͞ΜੋඇɺvisionOSରԠͯ͠Έ͍ͯͩ͘͞ʂʂ 28
͓·͚ 29