$30 off During Our Annual Pro Sale. View Details »

既存アプリをVisionOSでビルドするコツ.pdf

yamakentoc
September 27, 2023

 既存アプリをVisionOSでビルドするコツ.pdf

「visionOS Engineer オンラインLT会 vol.3」で登壇した内容
https://visionos-engineer.connpass.com/event/296845/

yamakentoc

September 27, 2023
Tweet

More Decks by yamakentoc

Other Decks in Technology

Transcript

  1. !ZBNBLFOUPD
    طଘΞϓϦΛWJTJPO04ͰϏϧυ
    ͢Δίπ

    View Slide

  2. ZBNBLFO
    w Ϡϑʔגࣜձࣾ
    w :BIPPϝʔϧͷJ04ΞϓϦ୲౰
    w 9ɿ!ZBNBLFOUPD
    w ϦΞλΠͰࢀՃͰ͖ͳ͍ͷͰ࿥ըͨ͠

    ΋ͷͰొஃ͠·͢NN

    ଟ෼5XJUUFSͰݟͯ͸͍ΔͷͰ࣭໰ͳͲ

    ͋Ε͹౤͍͛ͯͩ͘͞🙏

    View Slide

  3. Έͳ͞ΜɺWJTJPO04͕ࢼͤΔΑ͏ʹ
    ͳ͔ͬͯΒͲͷ͘Β͍ܦͪ·͔ͨ͠ʁ

    View Slide

  4. w 9DPEFCFUB͔ΒWJTJPO04͕ར༻Մೳʹͳͬͨ

    View Slide

  5. w 9DPEFCFUB͔ΒWJTJPO04͕ར༻Մೳʹͳͬͨ
    ϦϦʔε

    View Slide

  6. ϲ݄ܦͪ·ͨ͠ɻ

    View Slide

  7. ϲ݄΋͋Ε͹ʜྲྀੴʹօ͞Μ͕ϦϦʔεͯ͠
    ͍ΔJ04ΞϓϦશͯɺ7JTJPO04ͷωΠςΟϒϏ
    ϧυ͕Ͱ͖͍ͯΔ͸ͣʜʂʂʂ

    View Slide

  8. ๻͸͍͔ͭ͘Ϗϧυ͢Δ͜ͱʹ੒
    ޭ͠·ͨ͠

    View Slide

  9. ࣮͸·ͩͰ͖ͯͳ͍ʜʂͬͯਓ޲͚ʹ

    ʮطଘΞϓϦΛωΠςΟϒϏϧυ͢Δίπʯʹ
    ͍ͭͯ࿩͠·͢ɻ

    View Slide

  10. ࿩͢͜ͱ
    w طଘΞϓϦΛWJTJPO04ͷωΠςΟϒͰϏϧυ͢Δίπ
    w ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    w WJTJPO04ʹରԠࡁΈͷ4%,ͷϒϥϯνΛར༻͠Α͏
    w 4%,Λվम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w 4%,ΛϏϧυର৅֎ʹ͢Δํ๏
    w ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍

    View Slide

  11. ࿩͢͜ͱ
    w طଘΞϓϦΛWJTJPO04ͷωΠςΟϒͰϏϧυ͢Δίπ
    w ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    w WJTJPO04ʹରԠࡁΈͷ4%,ͷϒϥϯνΛར༻͠Α͏
    w 4%,Λվम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w 4%,ΛϏϧυର৅֎ʹ͢Δํ๏
    w ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍

    View Slide

  12. طଘΞϓϦΛWJTJPO04ͰϏϧυ͢Δίπ
    ·ͱΊ
    w WJTJPO04ʹରԠͯ͠ͳ͍4%,͕ଟ͍ͷͰɺ4%,पΓͰͷΤϥʔ͕ඇৗʹଟ͍
    w ରԠͯ͠ͳ͍4%,͸'PSLͯ͠վमPSఘΊͯϏϧυର৅֎ʹ͢Δ
    w ΞϓϦຊମͷػೳ΋શ෦ਖ਼ৗʹಈ࡞͢Δͷ͸೉͍͠
    w ಈ͔ͳͦ͏ͳ΋ͷ͸ίϝϯτΞ΢τPSJGͰ෼ذ͢Δ
    w ωΠςΟϒϏϧυ੒ޭ͔ͯ͠ΒରԠ͢Ε͹Ϥγʂʂʂ
    w ๻͕Ϗϧυͨ͠ΞϓϦͰ͸΄΅ओཁػೳͱݴ͑Δ෦෼Λ࡟ͬͯϏϧυͰ͖·͠
    ͨ

    View Slide

  13. ࿩͢͜ͱ
    w طଘΞϓϦΛWJTJPO04ͷωΠςΟϒͰϏϧυ͢Δίπ
    w ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    w WJTJPO04ʹରԠࡁΈͷ4%,ͷϒϥϯνΛར༻͠Α͏
    w 4%,Λվम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w 4%,ΛϏϧυର৅֎ʹ͢Δํ๏
    w ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍

    View Slide

  14. ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    $PDPB1PET
    w $PDPB1PET͸࠷৽൛ͰWJTJPO04ʹରԠࡁΈ
    w ͜ͷൃදͷ਺೔લʹϦϦʔε͞Εͨ

    View Slide

  15. ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    $PDPB1PET
    w ࢖༻͢Δʹ͸1PE
    fi
    MFͷQMBUGPSNͰWJTJPOPTΛࢦఆ͢Ε͹0,




    w ର৅ͷ4%,͕WJTJPO04ʹରԠͯ͠ͳ͍ͱQPEJOTUBMMͰΤϥʔʹͳΔ

    View Slide

  16. ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    $BSUIBHF
    w $BSUIBHF΋࠷৽൛ͰWJTJPO04ʹରԠࡁΈ
    w ͪ͜Β΋ઌिϦϦʔε͞Εͨ͹͔Γ

    View Slide

  17. ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    $BSUIBHF
    w DBSUIBHFVQEBUF͢ΔͱWJTJPO04༻ͷσΟϨΫτϦ͕ੜ੒͞ΕΔ




    w 1MBUGPSNΛࢦఆ͢Δ৔߹͸YS04͔WJTJPO04Λࢦఆ

    View Slide

  18. ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    $BSUIBHF
    w ର৅ͷ4%,͕WJTJPO04ʹରԠͯ͠ͳ͍ͱDBSUIBHFVQEBUFʹࣦഊ͢Δ
    w WJTJPO04༻ʹGSBNFXPSL͕ੜ੒͞Ε͍ͯͳ͍ͱΤϥʔʹͳΔ

    View Slide

  19. ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    4XJGU1BDLBHF.BOBHFS
    w #FUB൛ͷॳظ͔ΒWJTJPO04ରԠࡁΈ
    w ର৅ͷ4%,͕WJTJPO04ʹରԠͯ͠ͳ͚Ε͹΋ͪΖΜίʔυଆͰΤϥʔʹͳΔ
    w $PDPB1PETɺ$BSUIBHFͩͱ͜͏͍͏౓ʹΤϥʔ͕ى͖ΔͷͰશ෦4XJGU1.
    ʹҠߦ͍͖͍ͯͨ͠

    View Slide

  20. ࿩͢͜ͱ
    w طଘΞϓϦΛWJTJPO04ͷωΠςΟϒͰϏϧυ͢Δίπ
    w ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    w WJTJPO04ʹରԠࡁΈͷ4%,ͷϒϥϯνΛར༻͠Α͏
    w 4%,Λվम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w 4%,ΛϏϧυର৅֎ʹ͢Δํ๏
    w ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍

    View Slide

  21. WJTJPO04ʹରԠࡁΈͷ4%,ͷϒϥϯνΛར༻͠Α͏
    w ౰ͨΓલ͕ͩɺ4%,ࣗମ͕WJTJPO04ʹରԠͯ͠ͳ͍ͱ༷ʑͳΤϥʔ͕ग़Δ
    w ϦϙδτϦΛݟʹ͍͘ͱରԠ൛ͷϒϥϯν͕ੜ͍͑ͯΔ͜ͱ΋͋ΔͷͰ֬ೝ͠Α
    ͏
    w *TTVFʹΤϥʔͷճආࡦ͕͋Δ͜ͱ΋ʜʂ
    w ༗໊Ͳ͜Ζ͸ׂͱରԠ͞Ε͍ͯΔ
    w "MBNP
    fi
    SFɿNBTUFSͰରԠࡁΈ
    w "MBNP
    fi
    SF*NBHFɿNBTUFSͰରԠࡁΈ
    w 'JSFCBTFɿNBTUFSͰରԠࡁΈ

    View Slide

  22. 4%,͕WJTJPO04ʹରԠͯ͠ͳ͍৔߹
    w 'PSLͯ͠վम͢Δ
    w Ϗϧυର৅֎ʹ͢Δ

    View Slide

  23. ࿩͢͜ͱ
    w طଘΞϓϦΛWJTJPO04ͷωΠςΟϒͰϏϧυ͢Δίπ
    w ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    w WJTJPO04ʹରԠࡁΈͷ4%,ͷϒϥϯνΛར༻͠Α͏
    w 4%,Λվम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w 4%,ΛϏϧυର৅֎ʹ͢Δํ๏
    w ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍

    View Slide

  24. 'PSLͯ͠վम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w WJTJPO04Ͱར༻Ͱ͖ͳ͍"1*Λར༻͍ͯ͠Δύλʔϯ
    w ར༻Ͱ͖ͳ͍"1*͸JGPT WJTJPO04
    ͰίϯύΠϧͷର৅֎ʹ͠Α͏

    View Slide

  25. 'PSLͯ͠վम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w JGPT WJTJPO04
    ͕ͳ͍ύλʔϯ
    w ˢ*NBHFܕ͕ݟ͔ͭΒͳ͍ͱ͍͏Τϥʔ
    w ্ͷJGͰPT WJTJPO04
    ͕ͳ͍ͷͰ6*,JU͕JNQPSU͞Εͯͳ͍ͷ͕ݪҼ
    w ͳ͔ͥΤϥʔʹͳ͍ͬͯΔܥ͸͜ͷύλʔϯ͕ଟ͍ͷͰΑ͘ίʔυΛΈΑ͏ʂ

    View Slide

  26. ࿩͢͜ͱ
    w طଘΞϓϦΛWJTJPO04ͷωΠςΟϒͰϏϧυ͢Δίπ
    w ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    w WJTJPO04ʹରԠࡁΈͷ4%,ͷϒϥϯνΛར༻͠Α͏
    w 4%,Λվम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w 4%,ΛϏϧυର৅֎ʹ͢Δํ๏
    w ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍

    View Slide

  27. Ϗϧυର৅֎ʹ͢Δํ๏
    w վमͰ͖ͳͦ͞͏ͳ4%,͸ఘΊͯϏϧυର৅֎ʹ͢Δ
    w 'SBNFXPSLT -JCSBSJFT BOE&NCFEEFE$POUFOU͔ΒมߋՄೳ
    w ର৅4%,ͷWJTJPO04ͷνΣοΫΛ֎ͤ͹0,
    w Ϗϧυର৅֎ʹ͢ΔͱΞϓϦ಺Ͱར༻͍ͯ͠Δίʔυ΋ίϯύΠϧର৅֎ʹ͢
    Δඞཁ͕͋ΔͷͰJGͰ෼ذ͍ͯ͘͠

    View Slide

  28. 7JTJPO04Ͱར༻Ͱ͖ͳ͍७ਖ਼GSBNFXPSL
    w "DUJWJUZ,JU
    w "E4VQQPSU
    w "QQ$MJQ
    w "VUPNBUFE%FWJDF&OSPMMNFOU
    w #VTJOFTT$IBU
    w $BS,FZ
    w $BS1MBZ
    w $JOFNBUJD
    w $MPDL,JU
    w $PSF-PDBUJPO6*
    w $PSF.FEJB*0
    ར༻Ͱ͖ͳ͍ͷͰ༧ΊϏϧυର৅֎ʹ͠Α͏
    w $PSF/'$
    w $PSF5FMFQIPOZ
    w %FWJDF"DUJWJUZ
    w %PDL,JU
    w &YQPTVSF/PUJ
    fi
    DBUJPO
    w 'BNJMZ$POUSPMT
    w 'JOBODF,JU
    w 'JOBODF,JU6*
    w .BOBHFE4FUUJOHT
    w .BOBHFE4FUUJOHT6*
    w .FTTBHFT
    w .-$PNQVUF
    w /FBSCZ*OUFSBDUJPO
    w 0QFO"-
    w 1SPYJNJUZ3FBEFS
    w 3PPN1MBO
    w 4BGFUZ,JU
    w 4DSFFO5JNF
    w 4FOTPS,JU
    w 4FSWJDF.BOBHFNFOU
    w 4PDJBM
    w 8JEHFU,JU
    w 8PSLPVU,JU

    View Slide

  29. ΞϓϦຊମͷվम
    w 4%,पΓͷΤϥʔ͕ղফͨ͠Βɺ͋ͱ͸ͻͨ͢ΒΞϓϦ಺ͷίʔυͷվम
    w ͻͨ͢ΒJG WJTJPO04
    Ͱ෼ذ͍ͯ͘͠
    w ར༻Ͱ͖ͳ͍"1*
    w Ϗϧυର৅֎ʹͨ͠4%,ͷίʔυ
    w 8JEHFU
    w ؾ߹͍Ͱ΍͍͔ͬͯ͘͠ͳ͍💪

    View Slide

  30. ࿩͢͜ͱ
    w طଘΞϓϦΛWJTJPO04ͷωΠςΟϒͰϏϧυ͢Δίπ
    w ֤1BDLBHF؅ཧπʔϧͰWJTJPO04Λར༻͢Δํ๏
    w WJTJPO04ʹରԠࡁΈͷ4%,ͷϒϥϯνΛར༻͠Α͏
    w 4%,Λվम͢Δ࣌ͷΑ͋͘Δύλʔϯ
    w 4%,ΛϏϧυର৅֎ʹ͢Δํ๏
    w ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍

    View Slide

  31. ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍
    w J04ʢJ1BE04ʣͱͷҧ͍͸Ұ෦͋Δ͘Β͍
    w େ͖͘ݟͨ໨͕มΘΔ͜ͱ͸ͳ͔ͬͨ
    w ૢ࡞ੑ΋ಛผҧ࿨ײͳ͔ͬͨ
    w 6*,JU੡ͷΞϓϦͰ΋ϗόʔΤϑΣΫτ͕໰୊ͳ͘ಈ͍͍ͯͨ
    w ϗόʔΤϑΣΫτ༻ʹಛผվम͕ඞཁͳ͜ͱ΋ͳͦ͞͏

    View Slide

  32. ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍
    w /BWJHBUJPO#BSɺ5PPMCBS 5BC#BS͕ಁ໌ʹͳΔ
    w ΧελϚΠζ͍ͯ͠Δ৔߹͸ࢹೝੑ͕ѱ͘ͳΔ৔߹͕͋ΔͷͰରԠ͕ඞཁ
    WJTJPO04OBUJWF J04

    View Slide

  33. ωΠςΟϒϏϧυͰͷݟͨ໨ͷҧ͍
    w 5BC#BSͷҐஔ͕มΘΔͷͰಛघͳ࣮૷Λ͍ͯ͠Δ৔߹͸ରԠ͕ඞཁ
    w 5BC#BSͷ্ʹ7JFXΛషΓ෇͚ͯಛघͳ5BCΛ࡞੒͍ͯ͠Δέʔε͕كʹ͋Δ
    ͕ɺͦ͏͍ͬͨ΋ͷ͸൓ө͞Εͳ͔ͬͨ
    WJTJPO04OBUJWF J04

    View Slide

  34. ·ͱΊ

    View Slide

  35. طଘΞϓϦΛ7JTJPO04ͰϏϧυ͢Δίπ
    ·ͱΊ
    w 7JTJPO04ʹରԠͯ͠ͳ͍4%,͕ଟ͍ͷͰɺ4%,पΓͰͷΤϥʔ͕ඇৗʹଟ͍
    w ରԠͯ͠ͳ͍4%,͸'PSLͯ͠վमPSఘΊͯϏϧυର৅֎ʹ͢Δ
    w ΞϓϦຊମͷػೳ΋શ෦ਖ਼ৗʹಈ࡞͢Δͷ͸೉͍͠
    w ಈ͔ͳͦ͏ͳ΋ͷ͸ίϝϯτΞ΢τPSJGͰ෼ذ͢Δ
    w ωΠςΟϒϏϧυ੒ޭ͔ͯ͠ΒରԠ͢Ε͹Ϥγʂʂʂ

    View Slide