CallKitを実装してはまったところをお話します / Implementing the CallKit: Where I got stuck and how I solved them

13d936e697fe0f4fa96f926d0a712f6c?s=47 Sansan
September 06, 2019

CallKitを実装してはまったところをお話します / Implementing the CallKit: Where I got stuck and how I solved them

■イベント
iOSDC Japan 2019
https://iosdc.jp/2019/

■登壇概要
タイトル:
CallKitを実装してはまったところをお話します

登壇者:
Eight事業部 池端貴恵

https://fortee.jp/iosdc-japan-2019/proposal/ab843c99-32e7-4dbe-ba3a-3edcbd635ffe

▼Sansan Builders Box
https://buildersbox.corp-sansan.com/

13d936e697fe0f4fa96f926d0a712f6c?s=128

Sansan

September 06, 2019
Tweet

Transcript

  1. CallKitΛ࣮૷ͯ͠ ͸·ͬͨͱ͜ΖΛ͓࿩͠·͢ ΞϚκωε͍͚͹ͨ

  2. ΞϚκωε͍͚͹ͨ Sansanגࣜձࣾ Eightࣄۀ෦ iOSΤϯδχΞ ग़਎஍ɿԭೄ ډॅ஍ɿେࡕ

  3. "  '  & ! #  $ %

       
  4. ొ࿥໊ͨࢗ͠ͷ৘ใΛ׆༻͠ ண৴࣌ʹ໊ࢗͷ৘ใΛ ண৴ը໘ʹදࣔ͢ΔΑ͏ʹ͍ͨ͠ɻ

  5. CallKitΛ࢖͏✨

  6. ɾ͋ͳͨͷΞϓϦͰண৴Λ͏͚Δ ɾ͋ͳͨͷΞϓϦ͔Βి࿩Λ͔͚Δ ɾಛఆͷి࿩൪߸ͷண৴ΛϒϩοΫ͢Δ ɾண৴ͨ͠৘ใΛࣝผ͢Δ CallKitΛ࢖͏ͱͰ͖Δ͜ͱ

  7. CallDirectoryExtensionΛ࢖͏✨

  8. Extensionͱ͸ ػೳ֦ு Extension Point App Extension

  9. ண৴ ి࿩ா͕͍࣋ͬͯΔ σʔλ ΤΫεςϯγϣϯͰ ௥Ճ͞Εͨσʔλ ※ి࿩ாͰͦͷσʔλ͸ݟΕ·ͤΜɻ ཪͰ௥Ճ͞Ε͍ͯΔ͚ͩͰ͢ɻ

  10. CallKitͱCallDirectoryExtension

  11. 11 ϋϚͬͨϙΠϯτΛࡾͭ঺հ͠·͢

  12. ᶃExtensionͰ࢖͏σʔλͷࢀর 12

  13. ண৴දࣔʹඞཁͳσʔλ NGͳ͜ͱ Extension͸ผόΠφϦͰຊମͱ͸ಠཱͯ͠ಈ͘΋ͷɻ Eightͱ௚઀΍ΓͱΓͰ͖ͳ͍ ࢀর

  14. ண৴දࣔʹඞཁͳσʔλ อଘ ࢀর ղܾͨ͠ํ๏

  15. ᶄઃఆը໘ͷΠϯδέʔλ͕ࢭ·Βͳ͍

  16. None
  17. override func beginRequest(with context: ɹɹɹɹɹɹɹɹɹɹɹɹCXCallDirectoryExtensionContext){ // σʔλొ࿥ͳͲɺணిදࣔ͢ΔͨΊʹඞཁͳॲཧ context.completeRequest() } ్தͷॲཧͰΤϥʔʹͳͬͯɺ

    CompleteRequest࣮ߦͰ͖ͳ͔ͬͨ࣌ʹ ͙Δ͙Δ͕ࢭ·Βͳ͘ͳ͍ͬͯͨ ݪҼ
  18. ղܾͨ͠ํ๏ɿAfter override func beginRequest(with context: ɹɹɹɹɹɹɹɹɹɹɹɹCXCallDirectoryExtensionContext){ defer { context.completeRequest() }

    // σʔλͷՃ޻ॲཧͳͲɺ೚ҙͷॲཧ } ׬ྃϝιουͷcompleteRequest()͸
 ඞ࣮ͣߦ͞ΕΔΑ͏ʹ͢ΔͷΛ͓קΊ͠·͢ɻ ิ଍ɿઃఆը໘Λดͯ͡΋ࢭ·Βͣɺ୺຤࠶ىಈͨ͠ΒεΠον͕ONͷঢ়ଶʹͳͬͯࢭ·Γ·ͨ͠
  19. ᶅ΋͔ͨ͠͠Β தࠃ޲͚ʹެ։͞ΕͯΔΞϓϦ ϦδΣΫτ͞ΕΔ͔΋

  20. https://forums.developer.apple.com/thread/103083 ࠷ۙɺதࠃ࢈ۀ৘ใٕज़লʢMIITʣ͸ɺதࠃͷApp StoreͰར༻Մೳͳ ͢΂ͯͷΞϓϦͰCallKitػೳΛແޮʹ͢ΔΑ͏ཁٻ͠·ͨ͠ɻɹɹɹɹɹɹ ॏཁͳͱ͜ΖΛ຋༁͢Δͱ…

  21. தࠃ޲͚ͷ഑৴Λఀࢭͨ͠ɻ ղܾͨ͠ํ๏

  22. iPhone͸ి࿩ͳͷͰɺ ి࿩ʹؔ࿈͢ΔͷػೳΛ։ൃ͢Δͷ͸ɺ ΍Γ͕͍͕͋Γ·͢ɻ ࣮૷ͯ͠ΈΔͱɺ ༧૝֎ͳ͸·ΓϙΠϯτ͕݁ߏ͋Γ·ͨ͠ ·ͱΊ

  23. Thank you for listening