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.9k
Advanced Segue 2019年のSegue事情
tokorom
9
6.5k
tvOSアプリUIの勘所
tokorom
1
2.5k
カッコ悪くリアクティブじゃダメですか?
tokorom
7
13k
古き良きsendAction (in potatotips #26)
tokorom
1
3.9k
画面遷移と私(iOS)
tokorom
4
4k
Other Decks in Technology
See All in Technology
地震情報アプリを作ってみた
yama3133
1
110
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
200
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
560
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
4
26k
あなたの知らないバージョン命名規則
sat
PRO
2
330
20260817_生成AIの動向と中学校・高等学校での活用を考える_v1.00_公開用
doradora09
PRO
0
210
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
450
2027年のMetricKit
kantacky
0
160
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
580
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
340
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
170
tamachi.go 誕生の裏側
rymiyamoto
1
200
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The untapped power of vector embeddings
frankvandijk
2
1.8k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
470
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Mind Mapping
helmedeiros
PRO
1
330
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Google's AI Overviews - The New Search
badams
0
1.1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
660
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ͷػೳ͕แ