How I struggle with SiriKit.!5BDIJCBOB,BPSV QPUBUPUJQT
View Slide
ࣗݾհ• @TachibanaKaoru• ϑϦʔϥϯεiOSΤϯδχΞ• Blog : http://www.toyship.org/
iOSDC 2017• iOSͱपลٕज़Λࡐͱͨ͠ΧϯϑΝϨϯεͰ͢ɻ• ࠓ 9/15~9/17 ͷࡾؒ։࠵ͱͳΓɺCFP૿͑·͢ʂੋඇԠื͍ͯͩ͘͠͞ɻ• https://iosdc.jp/2017/
SiriKitͱ• Siri͔ΒࣗͷΞϓϦΛ͍ͬͯΖ͍ΖͰ͖Δػೳɻ• ࣗͷΞϓϦͷػೳ͕ͳΜͰ͑ΔΘ͚Ͱͳ͘ɺࢦఆ͞Εͨಛఆͷػೳʢϝοηʔδૹ৴ɺλΫγʔΛΑͿɺͳͲʣͰ͔͑͠·ͤΜɻ• iOS10Ͱಋೖ͞Ε·ͨ͠ɻ
ͪͳΈʹSiriKitͰάάΔͱ……• ಉ໊ͷλΠͷԦ൲༷ɺγϦΩοτ͞Μ͕Ͱ͖ͯ·͢ɻ
SiriKitͷத……• ࣮ɺʮSiriKitʯͱ͍͏໊લͷϑϨʔϜϫʔΫ͋Γ·ͤΜɻ• Intents : SiriKitͷϩδοΫΛ୲͢ΔϑϨʔϜϫʔΫ• Intents UI : SiriKitͷUIΛ୲͢ΔϑϨʔϜϫʔΫ
SiriKitʹରԠͨ͠ΞϓϦͷߏIntents UIExtension
ࠓɺSiriKit ͕͍͔ʹͭΒ͍ͷ͔Λ͓͍ͨ͠͠ͱࢥ͍·͢ɻ
̍ʣSiriʹͳΜ͔͚ͯ͠Ε͍͍ͷ͔Θ͔Βͳ͍• Siriʹ͔͚͠Δͱಛఆͷػೳ͕͑ΔΜ͚ͩͲ……ɻ• ͳΜ͔͚͍͍ͯͯ͠ͷ͔Θ͔Βͳ͍ɻ• ʮSiriϝοηʔδૹͬͯʯͰ͍͍ͷʁ• ͏·͘ಈ͍ͨΈ͍͚ͨͩͲ͜ΕͰຊʹେৎ……ʁ
̍ʣSiriʹͳΜ͔͚ͯ͠Ε͍͍ͷ͔Θ͔Βͳ͍• ࠷ۙͬͱAppleͷެࣜΨΠμϯε͕ൃද͞Ε·ͨ͠ɻ• https://developer.apple.com/documentation/sirikit/inrequestrideintent• ֤ࠃޠͰɺͲͷηϦϑͰSiriΛΑͼ͔ͩ֬͢ೝͰ͖·͢ɻ
̎ʣຊମΞϓϦͱSiriKitͰϓϩηε͕ҟͳΔ• ҟͳΔϓϩηεͷͨΊɺવ on memoryͷใ͕ར༻Ͱ͖ͳ͍ɻ• ϑΝΠϧΩϟογϡʹཔͬͨΓɺωοτϫʔΫ͔ΒใΛ࠶औಘͨ͠Γͯ͠ɺຊମͱಉ͡ใΛऔಘ͢Δඞཁ͕͋Δɻ
̏ʣຊମΞϓϦͱSiriKitͰετϨʔδ͕ҟͳΔɻ• ϑΝΠϧΩϟογϡUserDefaultsͳͲɺϩʔΧϧʹอଘ͢Δͷ͕ͦͷ··Ͱผͷͱ͜Ζʹอଘ͞ΕΔɻ• App GroupʢΞϓϦΛԣஅͯ͠ར༻Ͱ͖ΔϩʔΧϧετϨʔδʣΛར༻ͯ͠ϑΝΠϧΛڞ༗͢ΔΈʹ࡞Γม͑Δඞཁ͕͋Δɻ
̐ʣϩά͕ͱΕͳ͍͜ͱ͕͋Δɻ• ΞϓϦͷϓϩηε͕ͦΕͧΕҟͳΔͨΊΞϓϦͱIntentsͷσόοάϩάಉ࣌ʹऔಘͰ͖ͳ͍ɻ• ʢ·ͨɺ͓ͦΒ͘ൃల్্ͷͨΊɺىಈλΠϛϯάʹΑͬͯσόοάϩά͕ͱΕͳ͍͜ͱ͕͋Δʣ• ·ͨɺ௨ৗͷํ๏ͰSiri෦ॲཧσόοάϩάʹදࣔ͞Εͣɺࣗ͠ͷIntentsͷϩάͱΕͯɺSiriͷ෦ॲཧͰԿ͕ࣦഊཁҼͳͷ͔Λٻ͠ʹ͍͘ɻ
̐ʣϩά͕ͱΕͳ͍͜ͱ͕͋Δɻ• Apple ͷόάϨϙʔτͰհ͞Ε͍͍ͯΔख๏Λ͏ͱSiriͷϩάΛͱΔ͜ͱ͕Ͱ͖Δɻ• https://developer.apple.com/bug-reporting/profiles-and-logs/
̑ʣϒϨʔΫϙΠϯτ͕͑ͳ͍• Siri෦ॲཧʹλΠϜΞτ͕͋ΔͨΊɺͯ͢ͷॲཧΛλΠϜΞτʹ͓͞ΊΔඞཁ͕͋Δɻ• ϒϨʔΫϙΠϯτͰఀࢭ͢ΔͱɺඞͣλΠϜΞτʹͻ͔͔ͬͬͯ͠·͏ͨΊɺਖ਼ৗͳॲཧͷon memoryͷঢ়ଶΛ֬ೝ͢Δ͜ͱ͕Ͱ͖ͳ͍ɻ
̑ʣϒϨʔΫϙΠϯτ͕͑ͳ͍• WWDC2017ͰɺSiriKit ୲ͷApple Engineerʹฉ͍ͯΈ·ͨ͠ɻ
̑ʣϒϨʔΫϙΠϯτ͕͑ͳ͍• SiriKit ୲ͷApple Engineer ᐌ͘ɻ• ʮͨͪࠔͬͯΔΜͩΑͶʂʯ• ʮͦͷ͏ͪͳΜͱ͔Ͱ͖Δ͔……ʯ• ʢͨͿΜͨͩͷҚΊͩͱࢥ͍·͢ɻʣ
̒ʣϩδοΫͱUIͷϓϩηε͕ҧ͏• SiriKitͷϩδοΫ෦ͷॲཧIntents ExtensionͰߦ͍ɺUI෦ͷॲཧIntents UI ExtensionͰߦ͍·͢ɻ• ϓϩηε͕ҧ͏ͨΊɺϩδοΫ෦ͰԿΛͨ͠ͷ͔ΛʮετϨʔδΛ௨ͯ͠ʯUI෦Ͱऔಘ͢Δ͜ͱʹͳΔɻ
̓ʣSiri͕Θ͔ͬͯ͘Εͳ͍ɻ• σόοά͕ଓ͘ͱΓํ͍͍ՃݮʹͳͬͯɺSiri͕ೝࣝͯ͘͠Εͳ͍ɻ• Կճಉ͜͡ͱΛҰਓͰ܁Γฦ͢ͷͰɺपғͷ͖ʹͳΔ……ɻ
̓ʣSiri͕Θ͔ͬͯ͘Εͳ͍ɻ• ࠷ۙɺΞϓϦΛىಈ͢Δͱ͖ʹSiriͷจݴΛΘͨͤΔΑ͏ʹͳͬͨɻʼ͠ΌΒͳ͍͍ͯ͘ʂ
·ͱΊ• SiriKit ͭΒ͍ɻ৺͕ંΕ·͢ɻ• ͰiOS11ͰɺରԠυϝΠϯʢରԠػೳʣ͕૿͑ɺSiriKitͰϝϞΛͱͬͨΓͰ͖ΔΑ͏ʹͳΓ·ͨ͠ɻ• ରԠ͢ΔͳΒ͕Μ͍ͬͯͩ͘͞Ͷʂ• ۪ஒͳΒ͖͖·͢ʂ