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
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
Search
noppefoxwolf
February 28, 2024
0
190
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
February 28, 2024
Tweet
Share
More Decks by noppefoxwolf
See All by noppefoxwolf
Spice up your notifications/try!Swift25
noppefoxwolf
2
420
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
730
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
11
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
4.3k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
2.5k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
4.6k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.5k
モバイルファーストなアプリを作るためにvearがしたこと/xRDCC
noppefoxwolf
0
140
ソーシャルライブサービスにおけるデジタル化粧の仕組みと実装/iOSDC19
noppefoxwolf
4
5.5k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Code Review Best Practice
trishagee
68
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Building an army of robots
kneath
306
45k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Why Our Code Smells
bkeepers
PRO
337
57k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Raft: Consensus for Rubyists
vanstee
140
7k
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