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
続・SharePlayの歴史と進化 iOS18とApple Vision Proにおける新展開
Search
tokorom
August 22, 2024
Technology
1.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
続・SharePlayの歴史と進化 iOS18とApple Vision Proにおける新展開
tokorom
August 22, 2024
More Decks by tokorom
See All by tokorom
CursorでアプリをBuild/Lint
tokorom
0
290
SharePlayの歴史と進化 そしてvisionOSへ (iOSDC 2023)
tokorom
3
1.3k
5分でSharePlay入門
tokorom
3
1.6k
HomeKit 2020
tokorom
7
2.8k
Advanced Segue 2019年のSegue事情
tokorom
9
6.5k
tvOSアプリUIの勘所
tokorom
1
2.4k
カッコ悪くリアクティブじゃダメですか?
tokorom
7
13k
古き良きsendAction (in potatotips #26)
tokorom
1
3.9k
画面遷移と私(iOS)
tokorom
4
4k
Other Decks in Technology
See All in Technology
発表と総括 / Presentations and Summary
ks91
PRO
0
140
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
430
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
210
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
2
320
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
1
410
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
300
マルチアカウント環境でSecurity Hubの運用、その後どうなった? / SRE NEXT 2026 miniLT会
genda
0
100
公式ドキュメントの歩き方etc
coco_se
1
120
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
220
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
420
穢れた技術選定について
watany
17
5.6k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Designing for Performance
lara
611
70k
The Curious Case for Waylosing
cassininazir
1
430
Rails Girls Zürich Keynote
gr2m
96
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Transcript
ॴ༑ଠ:VUB5PLPSP J04UW04WJTJPO04"QQ1SPHSBNNFS ଓɾ4IBSF1MBZͷྺ࢙ͱਐԽ J04ͱ"QQMF7JTJPO1SPʹ͓͚Δ ৽ల։ J04%$+BQBO 5SBDL$
@tokorom tokorom Spinners Inc. ॴ ༑ଠ / Yuta Tokoro
"HFOEB w 4IBSF1MBZͬͯͳʹʁ w 4IBSF1MBZͷྺ࢙ͱਐԽ w ͷΞοϓσʔτ w "QQMF7JTJPO1SPͰͷ4IBSF1MBZ
4IBSF1MBZͬͯͳʹʁ
4IBSF1MBZͱ 'BDF5JNF௨தʹΕͨॴͷΓ߹͍ͱΞϓϦͷίϯςϯπΛڞ༗
4IBSF1MBZͱ 'BDF5JNF௨தʹΕͨॴͷΓ߹͍ͱΞϓϦͷίϯςϯπΛڞ༗ ʹఫഇ
4IBSF1MBZͱ 'BDF5JNF௨தʹΕͨॴͷΓ߹͍ͱΞϓϦͷίϯςϯπΛڞ༗ ʹఫഇ ʹఫഇ
4IBSF1MBZͱ ΞϓϦͰ༏Εͨ ڞ༗ମݧ Λఏڙ͢Δ͜ͱΛతͱͨ͠ػೳ
छͷ4IBSF1MBZ ը໘ڞ༗ ಈըɾԻָͷڞࢹௌ ΧελϜ
छͷ4IBSF1MBZ ը໘ڞ༗ ಈըɾԻָͷڞࢹௌ ΧελϜ
4IBSF1MBZͷྺ࢙ͱਐԽ
4IBSF1MBZొʂ w ͨͩ͠'BDF5JNFͷ௨தʹ͔͠ൃՐ͠ͳ͍
'BDF5JNF௨தͰͳͯ͘ൃՐʂ w 'BDF5JNFͰͷ௨தͰͳͯ͘ΞϓϦओಋͰ։࢝Ͱ͖ΔΑ͏ʹ w J.FTTBHF͔Β։࢝Ͱ͖ΔΑ͏ʹ w ͨͩ͠ʮ࿈བྷઌΛ͍ͬͯΔ૬खʯͷΈ
"JS%SPQͰ୭ͱͰ͙͢ʹ։࢝ʂ
"JS%SPQͰ୭ͱͰ͙͢ʹ։࢝ʂ w "JS%SPQʹରԠ͠ʮ࿈བྷઌΛΒͳ͍૬खʯͱ4IBSF1MBZՄೳʹ w J04ͷJ1IPOF̎Λ͚ۙͮͯ"JS%SPQʹରԠ ࠓͷϥϯν Ͳ͏͢Δʁ λίεΛ4IBSF1MBZͰ ΈΜͳͰങ͓͏ʂ ͋ɺςΟϛϥ
จՃͯ͘͠ΕͨͶ
ͦͷଞͷόʔδϣϯΞοϓ
J04 w ૹ৴Ͱ͖ΔϝοηʔδαΠζ͕,#͔Β,#ʹ֦େ
J04 w ϨΠςϯγͷվળ w ༏ઌͷ͍ϝοηʔδΛ6%1ͰϨΠςϯγͰૹ৴Ͱ͖ΔΑ͏ʹ
ߴ
J04 w 4IBSF1MBZͷ։࢝Λ؆୯ʹαϙʔτ͢ΔͨΊͷ (SPVQ"DUJWJUZ4IBSJOH$POUSPMMFS
J04 w ϑΝΠϧΛૹ৴Մೳʹ
ͷΞοϓσʔτ
J04 w )-4ΠϯλʔεςΟγϟϧͷಉظʹରԠ
WJTJPO04 w ಈըͷϑϧεΫϦʔϯ࠶ੜ࣌ʹಉ͡ڥʹ for await session in MyActivity.sessions() { playerViewController
.player? .playbackCoordinator .coordinateWithSession(session) playerViewController .groupExperienceCoordinator .coordinateWithSession(session) }
WJTJPO04 w ͋ͱ̎ͭʮ"QQMF7JTJPO1SPͰͷ4IBSF1MBZʯͰհ
"QQMF7JTJPO1SPͰͷ4IBSF1MBZ
ϗʔϜը໘͔Β'BDF5JNF4IBSF1MBZ w WJTJPO04Ͱ'BDF5JNF4IBSF1MBZ͕ಛผͳѻ͍ʹ
ϗʔϜը໘͔Β'BDF5JNF4IBSF1MBZ w WJTJPO04Ͱ'BDF5JNF4IBSF1MBZ͕ಛผͳѻ͍ʹ
4IBSF1MBZಋઢ͕ৗʹදࣔ w 'BDF5JNFதશΟϯυͷ্෦ʹৗʹ4IBSF1MBZಋઢ
Οϯυ4IBSF1MBZத
ۭؒͰͷ4IBSF1MBZ
ۭؒϖϧιφ 4IBSF1MBZ
WJTJPO04 4IBSF1MBZ People expect most visionOS apps to support SharePlay.
ۭؒϖϧιφͷςϯϓϨʔτ w ࢀՃऀͷϖϧιφ͕ίϯςϯπͷपลͰͲ͏ฒͿ͔Λ੍ޚՄೳ
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ w WJTJPO04 ৽ͨʹۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ͕Մೳʹ
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ w αϯϓϧίʔυ systemCoordinator.configuration.spatialTemplatePreference ɹ ɹɹ= .custom(CustomTemplate())
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ w αϯϓϧίʔυ struct CustomTemplate: SpatialTemplate { let elements: [any
SpatialTemplateElement] = [ .seat(position: .app.offsetBy(x: 0, z: 4)), .seat(position: .app.offsetBy(x: 1, z: 4)), .seat(position: .app.offsetBy(x: -1, z: 4)), .seat(position: .app.offsetBy(x: 2, z: 4)), .seat(position: .app.offsetBy(x: -2, z: 4)), ] }
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ w 3PMFʢׂʣͷׂΓͯ .seat( ɹɹposition: .app.offsetBy(x: -3.5, z: 2.5), ɹɹrole:
Role.blueTeam )
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ w 3PMFʢׂʣͷׂΓͯ
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ w 3PMFʢׂʣͷׂΓͯ // ੨νʔϜʹׂΓͯ systemCoordinator.assignRole(Role.blueTeam) // RoleΛղআ systemCoordinator.resignRole()
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ w ͲͷํΛ͔͘ͷࢦఆ .seat( ɹɹposition: .app.offsetBy(x: -3.5, z: 2.5), ɹɹdirection:
.lookingAt(xxxSeat) )
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ w ͲͷํΛ͔͘ͷࢦఆ .lookingAt(xxxSeat).rotatedBy(.degrees(30))
ۭؒϖϧιφςϯϓϨʔτͷΧελϚΠζ
γϛϡϨʔλͰ4IBSF1MBZ
γϛϡϨʔλͰ4IBSF1MBZ
8SBQ6Q w 4IBSF1MBZ'BDF5JNF͕ͳͯ͘࿈བྷઌΛΒͳ͍૬खͱͰՄೳ w 4IBSF1MBZWJTJPO04ͷࠜװΛ୲͏ w શͯͷΞϓϦ͕4IBSF1MBZରԠ
͓·͚ w 5BCMFUPQ,JUʹ4IBSF1MBZͷػೳ͕แ