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
AIエージェントに財布を渡す日 ― 承認付き"買い物エージェント"を作って実演
yama3133
0
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
基調講演:人とAIをつなぐIoTの今と未来 ー 「フィジカル」と「デジタル」が出会うその先へ【SORACOM Discovery 2026】
soracom
PRO
0
360
運用を犠牲にせずコストを制御し事業成長を支える B2B SaaS ID管理基盤におけるS3 Tableのログストレージ活用
kaminashi
1
120
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
580
AI時代の強いチームの作り方
yuukiyo
14
8.2k
AIがAPIを書く時代に、私たちは何を設計すべきか
nagix
0
170
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
280
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
1
240
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1.5k
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.4k
人依存からAIネイティブの体制へ:バックエンド開発の裏側【SORACOM Discovery 2026】
soracom
PRO
0
140
Featured
See All Featured
A better future with KSS
kneath
240
18k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Producing Creativity
orderedlist
PRO
348
40k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Side Projects
sachag
455
43k
Everyday Curiosity
cassininazir
0
270
GitHub's CSS Performance
jonrohan
1033
470k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
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ͷػೳ͕แ