Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How I struggle with SiriKit.

How I struggle with SiriKit.

Tachibana Kaoru

June 19, 2017
Tweet

More Decks by Tachibana Kaoru

Other Decks in Technology

Transcript

  1. How I struggle with SiriKit.
    !5BDIJCBOB,BPSV
    QPUBUPUJQT

    View Slide

  2. ࣗݾ঺հ
    • @TachibanaKaoru
    • ϑϦʔϥϯεiOSΤϯδχΞ
    • Blog : http://www.toyship.org/

    View Slide

  3. iOSDC 2017
    • iOSͱपลٕज़Λ୊ࡐͱͨ͠ΧϯϑΝϨϯεͰ͢ɻ
    • ࠓ೥͸ 9/15~9/17 ͷࡾ೔ؒ։࠵ͱͳΓɺCFP࿮΋૿͑
    ·͢ʂੋඇԠื͍ͯͩ͘͠͞ɻ
    • https://iosdc.jp/2017/

    View Slide

  4. SiriKitͱ͸
    • Siri͔Βࣗ෼ͷΞϓϦΛ࢖͍ͬͯΖ͍ΖͰ͖Δػೳɻ
    • ࣗ෼ͷΞϓϦͷػೳ͕ͳΜͰ΋࢖͑ΔΘ͚Ͱ͸ͳ͘ɺ
    ࢦఆ͞Εͨಛఆͷػೳʢϝοηʔδૹ৴ɺλΫγʔΛ
    ΑͿɺͳͲʣͰ͔͠࢖͑·ͤΜɻ
    • iOS10Ͱಋೖ͞Ε·ͨ͠ɻ

    View Slide

  5. ͪͳΈʹSiriKitͰάάΔͱ……
    • ಉ໊ͷλΠͷԦ൲༷ɺγϦΩοτ͞Μ͕Ͱ͖ͯ·͢ɻ

    View Slide

  6. SiriKitͷத਎͸……
    • ࣮͸ɺʮSiriKitʯͱ͍͏໊લͷϑϨʔϜϫʔΫ͸͋Γ·
    ͤΜɻ
    • Intents : SiriKitͷϩδοΫΛ୲౰͢ΔϑϨʔϜϫʔΫ
    • Intents UI : SiriKitͷUIΛ୲౰͢ΔϑϨʔϜϫʔΫ

    View Slide

  7. SiriKitʹରԠͨ͠ΞϓϦͷߏ੒
    Intents UI
    Extension

    View Slide

  8. ࠓ೔͸ɺSiriKit ͕͍͔ʹͭΒ͍ͷ͔Λ͓࿩ͨ͠͠
    ͍ͱࢥ͍·͢ɻ

    View Slide

  9. ̍ʣSiriʹͳΜͯ࿩͔͚͠Ε͹͍͍ͷ͔Θ͔Βͳ͍
    • Siriʹ࿩͔͚͠Δͱಛఆͷػೳ͕࢖͑ΔΜ͚ͩͲ……ɻ
    • ͳΜͯ࿩͔͚͍͍ͯ͠ͷ͔Θ͔Βͳ͍ɻ
    • ʮSiriϝοηʔδૹͬͯʯͰ͍͍ͷʁ
    • ͏·͘ಈ͍ͨΈ͍͚ͨͩͲ͜ΕͰຊ౰ʹେৎ
    ෉……ʁ

    View Slide

  10. ̍ʣSiriʹͳΜͯ࿩͔͚͠Ε͹͍͍ͷ͔Θ͔Βͳ͍
    • ࠷ۙ΍ͬͱAppleͷެࣜΨΠμϯε͕ൃද͞Ε·ͨ͠ɻ
    • https://developer.apple.com/documentation/sirikit/
    inrequestrideintent
    • ֤ࠃޠͰɺͲͷηϦϑͰSiriΛΑͼ͔ͩ֬͢ೝͰ͖·
    ͢ɻ

    View Slide

  11. ̎ʣຊମΞϓϦͱSiriKitͰϓϩηε͕ҟͳΔ
    • ҟͳΔϓϩηεͷͨΊɺ౰વ on memoryͷ৘ใ͕ར༻
    Ͱ͖ͳ͍ɻ
    • ϑΝΠϧΩϟογϡʹཔͬͨΓɺωοτϫʔΫ͔Β৘
    ใΛ࠶औಘͨ͠Γͯ͠ɺຊମͱಉ͡৘ใΛऔಘ͢Δඞ
    ཁ͕͋Δɻ

    View Slide

  12. ̏ʣຊମΞϓϦͱSiriKitͰετϨʔδ͕ҟͳΔɻ
    • ϑΝΠϧΩϟογϡ΍UserDefaultsͳͲɺϩʔΧϧʹอ
    ଘ͢Δ΋ͷ͕ͦͷ··Ͱ͸ผͷͱ͜Ζʹอଘ͞ΕΔɻ
    • App GroupʢΞϓϦΛԣஅͯ͠ར༻Ͱ͖ΔϩʔΧϧετ
    ϨʔδʣΛར༻ͯ͠ϑΝΠϧΛڞ༗͢Δ࢓૊Έʹ࡞Γ
    ม͑Δඞཁ͕͋Δɻ

    View Slide

  13. ̐ʣϩά͕ͱΕͳ͍͜ͱ͕͋Δɻ
    • ΞϓϦͷϓϩηε͕ͦΕͧΕҟͳΔͨΊΞϓϦͱ
    Intentsͷσόοάϩά͸ಉ࣌ʹ͸औಘͰ͖ͳ͍ɻ
    • ʢ·ͨɺ͓ͦΒ͘ൃల్্ͷͨΊɺىಈλΠϛϯάʹ
    Αͬͯσόοάϩά͕ͱΕͳ͍͜ͱ͕͋Δʣ
    • ·ͨɺ௨ৗͷํ๏Ͱ͸Siri಺෦ॲཧ͸σόοάϩάʹද
    ࣔ͞Εͣɺ΋ࣗ͠෼ͷIntentsͷϩά͸ͱΕͯ΋ɺSiriͷ
    ಺෦ॲཧͰԿ͕ࣦഊཁҼͳͷ͔Λ௥ٻ͠ʹ͍͘ɻ

    View Slide

  14. ̐ʣϩά͕ͱΕͳ͍͜ͱ͕͋Δɻ
    • Apple ͷόάϨϙʔτͰ঺հ͞Ε͍͍ͯΔख๏Λ࢖͏ͱ
    SiriͷϩάΛͱΔ͜ͱ͕Ͱ͖Δɻ
    • https://developer.apple.com/bug-reporting/profiles-
    and-logs/

    View Slide

  15. ̑ʣϒϨʔΫϙΠϯτ͕࢖͑ͳ͍
    • Siri͸಺෦ॲཧʹλΠϜΞ΢τ͕͋ΔͨΊɺ͢΂ͯͷॲ
    ཧΛλΠϜΞ΢τ಺ʹ͓͞ΊΔඞཁ͕͋Δɻ
    • ϒϨʔΫϙΠϯτͰఀࢭ͢ΔͱɺඞͣλΠϜΞ΢τʹ
    ͻ͔͔ͬͬͯ͠·͏ͨΊɺਖ਼ৗͳॲཧͷon memoryͷ
    ঢ়ଶΛ֬ೝ͢Δ͜ͱ͕Ͱ͖ͳ͍ɻ

    View Slide

  16. ̑ʣϒϨʔΫϙΠϯτ͕࢖͑ͳ͍
    • WWDC2017ͰɺSiriKit ୲౰ͷApple Engineerʹฉ͍ͯΈ
    ·ͨ͠ɻ

    View Slide

  17. ̑ʣϒϨʔΫϙΠϯτ͕࢖͑ͳ͍
    • SiriKit ୲౰ͷApple Engineer ᐌ͘ɻ
    • ʮ๻ͨͪ΋ࠔͬͯΔΜͩΑͶʂʯ
    • ʮͦͷ͏ͪͳΜͱ͔Ͱ͖Δ͔΋……ʯ
    • ʢͨͿΜͨͩͷҚΊͩͱࢥ͍·͢ɻʣ

    View Slide

  18. ̒ʣϩδοΫͱUIͷϓϩηε͕ҧ͏
    • SiriKitͷϩδοΫ෦෼ͷॲཧ͸Intents ExtensionͰߦ
    ͍ɺUI෦෼ͷॲཧ͸Intents UI ExtensionͰߦ͍·͢ɻ
    • ϓϩηε͕ҧ͏ͨΊɺϩδοΫ෦෼ͰԿΛͨ͠ͷ͔Λ
    ʮετϨʔδΛ௨ͯ͠ʯUI෦෼Ͱऔಘ͢Δ͜ͱʹͳ
    Δɻ

    View Slide

  19. ̓ʣSiri͕Θ͔ͬͯ͘Εͳ͍ɻ
    • σόοά͕ଓ͘ͱ஻Γํ΋͍͍ՃݮʹͳͬͯɺSiri͕ೝ
    ࣝͯ͘͠Εͳ͍ɻ
    • Կճ΋ಉ͜͡ͱΛҰਓͰ܁Γฦ͢ͷͰɺपғͷ໨΋͖
    ʹͳΔ……ɻ

    View Slide

  20. ̓ʣSiri͕Θ͔ͬͯ͘Εͳ͍ɻ
    • ࠷ۙɺΞϓϦΛىಈ͢Δͱ͖ʹSiriͷจݴΛΘͨͤΔΑ
    ͏ʹͳͬͨɻʼ͠Ό΂Βͳ͍͍ͯ͘ʂ

    View Slide

  21. ·ͱΊ
    • SiriKit ͭΒ͍ɻ৺͕ંΕ·͢ɻ
    • Ͱ΋iOS11ͰɺରԠυϝΠϯʢରԠػೳʣ͕૿͑ɺ
    SiriKitͰϝϞΛͱͬͨΓ΋Ͱ͖ΔΑ͏ʹͳΓ·ͨ͠ɻ
    • ରԠ͢ΔͳΒ͕Μ͹͍ͬͯͩ͘͞Ͷʂ
    • ۪ஒͳΒ͖͖·͢ʂ

    View Slide