iOS 14の位置情報系アップデート

0620564f0125b8b3b7f4fe40c10b8b4e?s=47 Tatsuya Tanaka
September 23, 2020

iOS 14の位置情報系アップデート

#yjbonfire で発表したiOS 14で位置情報系の機能がどう変わったかの発表資料です。(iOS 14が正式リリースされてから資料公開しました)
https://yj-meetup.connpass.com/event/182526/

- https://github.com/tattn
- https://qiita.com/tattn
- https://twitter.com/tanakasan2525

iOS 14対応で気をつけるべきことという記事もぜひご覧ください。
https://zenn.dev/tattn/articles/40d1e53cc63d381a3ac5

0620564f0125b8b3b7f4fe40c10b8b4e?s=128

Tatsuya Tanaka

September 23, 2020
Tweet

Transcript

  1. iOS 14ͷҐஔ৘ใܥΞοϓσʔτ ాதୡ໵ (@tattn) Bonfire iOS #8 (WWDC20ใࠂձ) IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED

  2. ాத ୡ໵ / ͨͳͨͭ (@tattn) • Yahoo!ΧʔφϏ • Yahoo!৐׵Ҋ಺ @tattn

    @tanakasan2525 @tattn Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
  3. τϐοΫε

  4. Ґஔ৘ใܥͷτϐοΫε • Ґஔ৘ใͷਫ਼౓Λ੍ݶ͢Δػೳͷ௥Ճ • APIͷมߋͱ௥Ճ • AppClips΍WidgetsͰͷҐஔ৘ใ

  5. ࢓༷มߋͷܦҢ

  6. ਖ਼֬ͳҐஔ৘ใ͕ඞཁͰ͸ͳ͍ΞϓϦ͕͋Δ ඞཁ: φϏήʔγϣϯΞϓϦͳͲ

  7. ਖ਼֬ͳҐஔ৘ใ͕ඞཁͰ͸ͳ͍ΞϓϦ͕͋Δ ෆཁ: ιʔγϟϧϝσΟΞɾग़ձ͍ܥΞϓϦͳͲ

  8. มΘͬͨ͜ͱ

  9. iOS 14Ͱ͸ڐ୚Ξϥʔτʹ৽͍߲͠໨͕௥Ճ Ґஔڐ୚ΞϥʔτͰ ͜Ε·ͰͷڐՄબ୒ʹՃ͑ɺ ਖ਼֬ͳҐஔ৘ใͷOn/Off͕બ΂ΔΑ͏ʹ σϑΥϧτ͸ਖ਼֬ͳҐஔ৘ใΛڐՄঢ়ଶ

  10. ਖ਼֬ͳҐஔ৘ใΛΦϑʹͨ࣌͠ͷΞϥʔτ

  11. iOS 14Ͱ͸ઃఆΞϓϦʹ΋৽͍߲͠໨͕௥Ճ ઃఆΞϓϦʹ΋ ਖ਼֬ͳҐஔ৘ใͷ߲໨͕ ௥Ճ Ϣʔβʔ͸͍ͭͰ΋ ͜ͷઃఆΛมߋՄೳͳͷͰ ΞϓϦଆͰ੍ޚ͕ඞཁ

  12. iOS 14 beta 3ͰͷڍಈͳͷͰ GM൛Ͱ΋֬ೝ͍ͨ͠Ͱ͢ iOS 13Ͱ͢ͰʹҐஔ৘ใΛڐ୚ࡁΈͷΞϓϦ͸ iOS 14΁ͷΞοϓσʔτޙɺ ਖ਼֬ͳҐஔ৘ใ͕ڐՄ͞Ε͍ͯΔঢ়ଶͰͨ͠☺

    →(௥ه) ਖ਼ࣜ൛Ͱ΋ಉ͡Ͱͨ͠
  13. Delegateϝιουͷมߋ ڐ୚ΞϥʔτΛλοϓͨ͠ࡍʹݺ͹ΕΔσϦήʔτʹมߋ͕͋Γ·͢ @available(iOS, introduced: 4.2, deprecated: 14.0) @available(iOS 14.0, *)

  14. Delegateϝιουͷมߋ ڐ୚ΞϥʔτΛλοϓͨ͠ࡍʹݺ͹ΕΔσϦήʔτʹมߋ͕͋Γ·͢ @available(iOS, introduced: 4.2, deprecated: 14.0) @available(iOS 14.0, *)

    iOS 14Ͱ͸ ৽ϝιουΛ࣮૷͍ͯ͠ͳ͍৔߹ˠچϝιου͕ࠓ·Ͱ௨Γݺ͹ΕΔ ৽ϝιουΛ࣮૷͍ͯ͠Δ৔߹ɹˠ৽ϝιουͷΈݺ͹ΕΔ
  15. ਫ਼౓΋औಘͯ͠ϋϯυϦϯά͢Δྫ

  16. Ϋϥεϝιουͷඇਪ঑Խ @available(iOS, introduced: 4.2, deprecated: 14.0) @available(iOS 14.0, *)

  17. Ґஔ৘ใͷਫ਼౓੍͕ݶ͞Ε͍ͯΔ৔߹(reduced) ͜Ε·Ͱ௨ΓҐஔʹมߋ͕͋Ε͹ didUpdateLocations ͕ݺ͹ΕΔ ͨͩ͠ɺCLLocationͷhorizontalAccuracy͕େ͖͘ͳΓɺ Ґஔͷߋ৽͸1࣌ؒʹ4ճʹͳΔ ݱࡏ஍ΛؚΉ໿1ʙ20kmൣғͷྖҬͱͳΓ·͢ සൟʹdidUpdateLocations͕ݺ͹ΕΔ͜ͱΛظ଴͍ͯ͠Δ ࣮૷ʹͳ͍ͬͯΔ৔߹͸஫ҙ͍ͯͩ͘͠͞ (requestLocationΛݺͼग़ͨ͠৔߹͸ɺdelegate͸ݺ͹Ε·͢)

  18. ਫ਼౓ͷ௿͍Ґஔ৘ใͷऔಘྫ ελʔτ

  19. ਫ਼౓ͷ௿͍Ґஔ৘ใͷऔಘྫ มԽͳ͠

  20. ਫ਼౓ͷ௿͍Ґஔ৘ใͷऔಘྫ มԽͳ͠

  21. ਫ਼౓ͷ௿͍Ґஔ৘ใͷऔಘྫ ߋ৽

  22. ਫ਼౓ͷ௿͍Ґஔ৘ใͷऔಘྫ ߋ৽

  23. ྖҬͷதԝ͕ݱࡏ஍ͱ͍͏Θ͚Ͱ͸ͳ͍ ฏۉ͸5km൒ܘɺີूͨ͠౎ࢢͰ͸਺kmɺ ೶ଜ෦Ͱ͸10kmҎ্ͳͲɺௐ੔͞Εͨ஋ʹͳ͍ͬͯ·͢

  24. ࣮ࡍͷҢ౓ܦ౓ͷ஋ খ਺఺ҎԼͷܻ਺͸੍ݶ͞Ε͍ͯͯ΋ಉ͡ (খ਺఺ҎԼ8ܻ) ࣗ୐पลͰ͸ਫฏਫ਼౓͸௨ৗ࣌͸70mɺ੍ݶ࣌͸5.7km ͨͩɺͦͷ۠͸࣮ࡍʹ͍Δ۠ͷྡͷ۠Ͱͨ͠ CLGeocoderͰॅॴΛऔΔͱ۠·ͰऔΕ·ͨ͠ (౦ژ)

  25. AppleͷMapΞϓϦͷྫ ੍ݶ͞Ε͍ͯΔ࣌͸ԁͰҐஔΛදࣔ

  26. AppleͷMapΞϓϦͷྫ ্ͷ͓஌ΒͤΛλοϓ͢ΔͱઃఆΞϓϦ΁ͷ༠ಋΞϥʔτ͕දࣔ

  27. AppleͷMapΞϓϦͷྫ ਫ਼౓Λ੍ݶ͞Ε͍ͯͯ΋ ΞϓϦ͸ىಈͰ͖ɺ φϏήʔγϣϯͳͲͷ ਖ਼֬ͳҐஔ͕ඞཁͳ࣌ʹ Ϣʔβʔʹਫ਼౓Λཁٻ͢ΔUX

  28. AppleͷMapΞϓϦͷྫ ਖ਼֬ͳҐஔ৘ใ͕OFFͷ࣌ʹ ਫ਼౓ඞਢͷػೳΛλοϓͨ͠Β Ұ౓͚ͩਖ਼֬ͳҐஔΛڐՄ͢Δ ΞϥʔτΛग़͢ ͜ͷΞϥʔτ͸Կ౓Ͱ΋දࣔͰ͖·͢

  29. requestTemporaryFullAccuracyAuthorization ར༻໨తͷจݴͷग़͠෼͚͕Մೳ

  30. σϑΥϧτͰਫ਼౓Λམͱ͢͜ͱ΋Ͱ͖Δ

  31. ਫ਼౓੍͕ݶ͞Εͨ࣌ͷόοΫάϥ΢ϯυܥͷ࢓༷ Significant Location Changes ߋ৽ස౓͕1࣌ؒʹ4ճͳͷͰݕ஌ස౓͕ݮΓ ਫ਼౓΋௿͘ͳΔ Visits (๚໰؂ࢹAPI) ࣌ؒ͸ਖ਼֬ɺҐஔ͸ਫ਼౓͕௿͍ Ϗʔίϯ΍Ϧʔδϣϯ

    શ͘ݕ஌Ͱ͖ͳ͘ͳΔ
  32. AppClips AppClipsͰ΋GPS͕࢖͑Δ ͨͩ͠ɺৗʹڐՄ͸બ΂ͣɺ ࢖༻தͷΈڐՄ΋ ࣍ͷ೔ͷேʹແޮʹͳΔ ৗʹڐՄ͕ඞཁͳ࢓༷͸ ΍Ί·͠ΐ͏

  33. Widgets plistʹNSWidgetWantsLocationͷ௥Ճ͕ඞཁ ڐ୚Ξϥʔτ͸දࣔͰ͖ͳ͍ͨΊɺ ຊମΞϓϦͰڐ୚͢Δඞཁ͕͋Δ Ґஔ৘ใ͕ඞཁͳػೳ͕͋Δ৔߹͸ ຊମΞϓϦʹ༠ಋ͢ΔػೳΛ͚ͭ·͠ΐ͏

  34. ·ͱΊ

  35. ·ͱΊ • Ґஔ৘ใͷਫ਼౓੍͕ݶ͞ΕΔ৔߹͕͋Γ·͢ • ຊ౰ʹਖ਼֬ͳҐஔ৘ใ͕ඞཁͳͱ͖ͷΈ ONʹ͢ΔΑ͏ͳ࢓༷͕Appleͷ͓͢͢ΊͰ͢ • App Clips΍WidgetsͰ΋Ґஔ৘ใ͕࢖͑·͕͢ ੍ݶ͕͋Γ·͢