Slide 1

Slide 1 text

طଘΞϓϦΛvisionOSରԠͯ͠Ϧ Ϧʔεͨ͠࿩ visionOS Engineer ΦϯϥΠϯLTձ vol.5 1

Slide 2

Slide 2 text

աڈͷൃද • Yahooͷyamaken͞Μ͕ಉ͡ςʔϚͰա ڈʹൃද͞Εͯ·͢ • ॏෳ͢Δ಺༰1͸ඈ͹͍͖ͯ͠·͢ 1 ref: h(ps:/ /speakerdeck.com/yamakentoc/ji-cun- ahuriwovisionostehirutosurukotu 2

Slide 3

Slide 3 text

noppe • DeNA Co., Ltd. • 𝕏: @noppefoxwolf • mastodon: @mstdn.jp@noppefoxwolf 3

Slide 4

Slide 4 text

ࠓ೔ͷ͓࿩ طଘΞϓϦΛvisionOSରԠͯ͠ϦϦʔεͨ͠࿩ • ϚΠΫࢮΜͩΒ୭͔𝕏ʹDM͍ͩ͘͞ 4

Slide 5

Slide 5 text

طଘΞϓϦ • DAWN for mastodon • $2.99 • iOS, iPadOS, macOS(Catalyst) • Swi@ 5.9 • UIKit & Swi@UI • Swi@ Package Manager 5

Slide 6

Slide 6 text

݁࿦ɿରԠͰ͖ͨ • ͓ΊͰͱ͏ʂʂ • Apple Vision Proͷϩʔϯνʹؒʹ߹ͬ ͨ • ରԠظؒ͸̍िؒ͘Β͍ • Susan Presco2(෭ࣾ௕)͔ΒײँͷΤϞ ͍ϝʔϧ͕དྷͨ 6

Slide 7

Slide 7 text

݁࿦ɿରԠͰ͖ͨ • ͓ΊͰͱ͏ʂʂ • Apple Vision Proͷϩʔϯνʹؒʹ߹ͬ ͨ • ରԠظؒ͸̍िؒ͘Β͍ • Susan Presco2(෭ࣾ௕)͔ΒײँͷΤϞ ͍ϝʔϧ͕དྷͨ 7

Slide 8

Slide 8 text

visionOSରԠͷબ୒ࢶ 1. iOS SDKͰϏϧυ 2. visionOS SDKͰϏϧυ 3. ৽͘͠࡞Γ௚͢ 8

Slide 9

Slide 9 text

iOS SDKͰϏϧυ • iPadΞϓϦͱͯ͠ಈ࡞͢Δ • ެ։ઃఆΛมߋ͠ͳ͚Ε͹ࣗಈతʹ iPadΞϓϦͱͯ͠ެ։͞ΕΔ • ϗʔϜը໘ʹ͸௥Ճ͞Εͣɺ Compa*ble AppsʹೖΔ 9

Slide 10

Slide 10 text

iOS SDKͰϏϧυ • iPadΞϓϦͱͯ͠ಈ࡞͢Δ • ެ։ઃఆΛมߋ͠ͳ͚Ε͹ࣗಈతʹ iPadΞϓϦͱͯ͠ެ։͞ΕΔ • ϗʔϜը໘ʹ͸௥Ճ͞Εͣɺ Compa*ble AppsʹೖΔ 10

Slide 11

Slide 11 text

visionOS SDKͰϏϧυ • ͪΐͬͱͨ͠मਖ਼͕ඞཁ • UIKit͕ಈ͘ͷͰൺֱత؆୯ • UIͷશ͕ͯvisionOSʹ࠷దԽ͞ΕΔ • ࠓճ͸ͬͪ͜ʹ௅ઓ 11

Slide 12

Slide 12 text

ͪΐͬͱͨ͠मਖ਼ • visionOSͰಈ͔ͳ͍ػೳΛແޮԽ • UIͷमਖ਼ • ΞΠίϯͱετΞ৘ใͷ४උ 12

Slide 13

Slide 13 text

visionOSͰಈ͔ͳ͍ػೳΛແޮԽ • Alterna)ve App Icon • ColorScheme • App Extensions • ରԠͯ͠ͳ͍ϥΠϒϥϦͷରԠɾআ֎ɾஔ׵ 13

Slide 14

Slide 14 text

Alterna(ve App Icon • visionOS 1.0+ 14

Slide 15

Slide 15 text

Alterna(ve App Icon • ݺ΂Δ͚Ͳɺಈ͔ͳ͍ • ޓ׵ੑͷͨΊʹɺ͜͏͍͏API͕·͊·͊͋Γͦ͏ͳͷͰɺ ཁಈ࡞νΣοΫ 15

Slide 16

Slide 16 text

ColorScheme • ΞϓϦ಺ͷμʔΫϞʔυɾϥΠτϞʔ υͷ੾Γସ͑͢Δػೳ͕͋ͬͨ • overrideUserInterfaceStyleͰ มߋ͸ग़དྷΔ͕ɺμʔΫϞʔυɾϥΠ τϞʔυͷݟͨ໨͕Ұॹ 16

Slide 17

Slide 17 text

ίʔυͷআ֎ #if os(iOS) alternativeAppIconButton() #endif • #if os(iOS) ~ #endifͰғΉ͜ͱͰϏϧυ࣌ʹআ֎Ͱ͖Δ 17

Slide 18

Slide 18 text

App Extensions Widget Extension͸ಈ͔ͳ͍ 18

Slide 19

Slide 19 text

App Extensions Embed Founda,on ExtensionͷFiltersͰWidget͸ϑΟϧλ͢Δ 19

Slide 20

Slide 20 text

App Extensions΋visionOS SDKͰϏϧυ͢Δ ͜ͱ Designed for iPadʹͳ͍ͬͯΔͱɺຊମ͕visionOS SDKͩͱίέ Δ 20

Slide 21

Slide 21 text

ରԠͯ͠ͳ͍ϥΠϒϥϦͷରԠɾআ֎ɾஔ׵ PRૹͬͨΓͨ͠ 21

Slide 22

Slide 22 text

ରԠͯ͠ͳ͍ϥΠϒϥϦͷରԠɾআ֎ɾஔ׵ Twi$erTextEditor΋ࣗલͷίʔυʹஔ͖׵͑ 22

Slide 23

Slide 23 text

ରԠͯ͠ͳ͍ϥΠϒϥϦͷରԠɾআ֎ɾஔ׵ ରԠ͕೉ͦ͠͏ͳ΋ͷ͸ɺiOSʹ͚ͩೖΕΔ͜ͱ΋Ͱ͖Δ .product( name: "CropViewController", package: "TOCropViewController", condition: .when(platforms: [.iOS]) ), #if canImport(CropViewController) ... #endif 23

Slide 24

Slide 24 text

UIͷमਖ਼ ΩʔϘʔυ্ͷπʔϧόʔͷAPIͰ͋Δɺ inputAccessoryView͕visionOSͰ͸ ࢖͑ͳ͍ • UIKitͰॻ͍ͯΔ • ૹ৴ͱ͔ॾʑ٧ΊࠐΜͰ͍ͨͷͰࠔͬ ͨ • ୅ସҊΛ୳͢ 24

Slide 25

Slide 25 text

UIͷमਖ਼ visionOS͸ɺUIOrnamentʹ࣮૷ΛҠ͠ ͨ • Swi%UIͰॻ͚Δ • ൺֱతͳΜͰ΋ஔ͚Δ 25

Slide 26

Slide 26 text

UIͷमਖ਼ͷίπ // visionOS ornaments = [UIHostingOrnament { /* SwiftUI ViewBuilder */ }] // iOS accessoryView = AccessoryHostingView { /* SwiftUI ViewBuilder */ } UIHos&ngOrnamentΛࢀߟʹɺbodyΛSwi5UIͰॻ͚ΔΑ͏ͳUIΛ ࡞͓ͬͯ͘ͱڞ௨ԽͰ͖ͯศར 26

Slide 27

Slide 27 text

ແࣄϦϦʔε 27

Slide 28

Slide 28 text

·ͩ·ͩ࠷దԽ͸ଓ͘ • ࣮ػͰ৮ͬͯΈΔͱͲΜͲΜ՝୊΍΍Γ͍ͨࣄ͕ݟ͑ͯ͘Δ • ૢ࡞ɾϘλϯΛݮΒ͍ͨ͠ • ϝσΟΞΛ3DͰද͍ࣔͨ͠ • ͳΜ͔ύϑΥʔϚϯεѱ͍ • օ͞Μ΋ੋඇɺvisionOSରԠͯ͠Έ͍ͯͩ͘͞ʂʂ 28

Slide 29

Slide 29 text

͓·͚ 29