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
Let's make it compatible with visionOS!
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Akio Itaya
November 24, 2023
Programming
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Let's make it compatible with visionOS!
visionOS Engineer LT会 vol.4
Akio Itaya
November 24, 2023
More Decks by Akio Itaya
See All by Akio Itaya
What If Your App Could Debug Itself?
akkeylab
0
32
How to stabilize UI tests using XCTest
akkeylab
0
170
Bringing Spatial Web to E-Commerce
akkeylab
0
90
Learn CPU architecture with Assembly
akkeylab
1
2.1k
Porting a visionOS App to Android XR
akkeylab
0
1.2k
How to handle 3D content on Android XR
akkeylab
0
240
Create a website using Spatial Web
akkeylab
0
420
How to build visionOS apps using Windows
akkeylab
0
220
How to build visionOS apps using Persona
akkeylab
1
480
Other Decks in Programming
See All in Programming
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
2.9k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.5k
関係性から理解する"同一性"の型用語たち
pvcresin
2
640
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
160
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
720
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
230
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
250
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
230
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Curse of the Amulet
leimatthew05
1
13k
Done Done
chrislema
186
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Why Our Code Smells
bkeepers
PRO
340
58k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
150
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Ethics towards AI in product and experience design
skipperchong
2
300
Transcript
AKKEY / AKIO ITAYA visionOS ରԠνϟϨϯδ visionOS Engineer LTձ vol.4
Native
@AkkeyLab
trying education developing AppBrew, inc. AkkeyLab, inc. inet LLC @AkkeyLab
Engineer CEO Engineer 👩💻 ˎۀҕୗͰ͓ੈʹͳͬͯΔاۀ༷Λআ͖·͢ Apple Vision Pro icon: https://developer.apple.com/news/?id=wztdeypy
trying education developing AppBrew, inc. AkkeyLab, inc. inet LLC @AkkeyLab
Engineer CEO Engineer 👩💻 ˎۀҕୗͰ͓ੈʹͳͬͯΔاۀ༷Λআ͖·͢ Apple Vision Pro icon: https://developer.apple.com/news/?id=wztdeypy
AppBrew, inc. AkkeyLab, inc. inet LLC @AkkeyLab Engineer CEO Engineer
👩💻 trying education developing ˎۀҕୗͰ͓ੈʹͳͬͯΔاۀ༷Λআ͖·͢ Apple Vision Pro icon: https://developer.apple.com/news/?id=wztdeypy
AppBrew, inc. AkkeyLab, inc. inet LLC @AkkeyLab Engineer CEO Engineer
👩💻 trying education developing ˎۀҕୗͰ͓ੈʹͳͬͯΔاۀ༷Λআ͖·͢ Apple Vision Pro icon: https://developer.apple.com/news/?id=wztdeypy
Question
visionOS app ։ൃͯ͠Δਓ🙋 ۀͰ
ֶͼͷػձΛ࡞Γ͍ͨ…ʂ ࣾͰ
Ұ෦ػೳΛωΠςΟϒରԠ β info
AppBrew, inc. AkkeyLab, inc. inet LLC @AkkeyLab Engineer CEO Engineer
👩💻 trying education developing ˎۀҕୗͰ͓ੈʹͳͬͯΔاۀ༷Λআ͖·͢ Apple Vision Pro icon: https://developer.apple.com/news/?id=wztdeypy
Multi-platform support iOS, iPadOS, macOS, visionOS
ˎ։ൃ్தͷͷͰ͢
sheet
sheet
β info
sheet β info
sheet ⚠ can't close 👉 β info
It's not a bug…? 🐛
sheet ⚠ can't close 👉
Fix🔨
window β info
@main struct SearchApp: App { var body: some Scene {
WindowGroup(id: "search-main") {…} WindowGroup(id: "company-detail") { if let selectedCompany { CompanyDetailView(company: selectedCompany, showSearchButton: true) .padding(32) } } .defaultSize(width: 0.4, height: 0.2, depth: 1, in: .meters) } } ToolbarItem(placement: .topBarTrailing) { Button( action: { openWindow(id: "company-detail") }, label: { Image(systemName: "info.bubble") } ) }
@main struct SearchApp: App { var body: some Scene {
WindowGroup(id: "search-main") {…} WindowGroup(id: "company-detail") { if let selectedCompany { CompanyDetailView(company: selectedCompany, showSearchButton: true) .padding(32) } } .defaultSize(width: 0.4, height: 0.2, depth: 1, in: .meters) } } ToolbarItem(placement: .topBarTrailing) { Button( action: { openWindow(id: "company-detail") }, label: { Image(systemName: "info.bubble") } ) } tool bar item β info
@main struct SearchApp: App { var body: some Scene {
WindowGroup(id: "search-main") {…} WindowGroup(id: "company-detail") { if let selectedCompany { CompanyDetailView(company: selectedCompany, showSearchButton: true) .padding(32) } } .defaultSize(width: 0.4, height: 0.2, depth: 1, in: .meters) } } ToolbarItem(placement: .topBarTrailing) { Button( action: { openWindow(id: "company-detail") }, label: { Image(systemName: "info.bubble") } ) } tool bar item β info
Also supports iPadOS and macOS
window
window
Summary
·ͣখنͳΞϓϦΛ৮ͬͯΒ͏👩💻 Sheet ͷऔΓѻ͍ʹҙ ⚠ ϚϧνΟϯυͷར༻ࢹʹೖΕΔ🏞 Summary
·ͣখنͳΞϓϦΛ৮ͬͯΒ͏👩💻 Sheet ͷऔΓѻ͍ʹҙ ⚠ ϚϧνΟϯυͷར༻ࢹʹೖΕΔ🏞 Summary
·ͣখنͳΞϓϦΛ৮ͬͯΒ͏👩💻 Sheet ͷऔΓѻ͍ʹҙ ⚠ ϚϧνΟϯυͷར༻ࢹʹೖΕΔ🏞 Summary
try!Swift Tokyo 243݄։࠵ʂ PR https://tryswift.jp
Thank you !!