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
:syncing_time:
sksat
2
600
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.6k
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
240
アクセスキーが漏れた日にやるべきこと- 無効化の先にある本当の対応
kazzpapa3
0
270
FDEの心得
noriakioji
5
6.4k
AI・HPC開発を支えるGPU環境の新しい選択肢 液冷GPUシステム「AquSys」の取り組み
gpuunite_official
0
230
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
520
NANDでも描画したい!
nichica906
3
620
DDDのエッセンスを取り入れたAIでの開発
ak2ie
1
210
Android skills に学ぶ
kokiko
0
160
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
AIに狂うスタートアップが、あえて「人との協働」に全振りした新卒エンジニア研修 / New Graduate Engineer Training at a Startup Accelerating AI Adoption
ohnoeight
0
190
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.4k
A designer walks into a library…
pauljervisheath
211
24k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Designing Experiences People Love
moore
143
24k
sira's awesome portfolio website redesign presentation
elsirapls
0
340
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
360
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Are puppies a ranking factor?
jonoalderson
2
3.8k
What's in a price? How to price your products and services
michaelherold
247
13k
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ͷػೳ͕แ