業務アプリの切札 Programable KIOSK mode 大全

Ff2906914a6a1ebace556483377cddf2?s=47 r-plus
September 17, 2017

業務アプリの切札 Programable KIOSK mode 大全

iOSDC 2017資料

Ff2906914a6a1ebace556483377cddf2?s=128

r-plus

September 17, 2017
Tweet

Transcript

  1. ۀ຿ΞϓϦͷ੾ࡳ Programable KIOSK mode େશ 9/17 iOSDC 2017 taiki komaba(@r_plus)

  2. UBJLJLPNBCB !S@QMVT )"/%4-"#*/$

  3. ,*04, BLB4JOHMF"QQ.PEF

  4. Programable Require Supervision Require MDM Guided Access No No No

    SingleApp Mode No Yes No ࣗ཯త SAM Yes Yes Yes ࣗಈධՁ ઃఆ Yes No No
  5. Guided Access

  6. SS͓͘

  7. GUIDED ACCESS ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸ ΩʔϘʔυ

    ▸ λον ▸ ը໘ճస
  8. GUIDED ACCESS ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸ ΩʔϘʔυ

    ▸ λον ▸ ը໘ճస ⚠ଟ਺ͷσόΠε੍ޚʹ͸޲͔ͳ͍
  9. SingleAppMode

  10. Apple Configurator

  11. MDM

  12. SINGLE APP MODE ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸

    ΩʔϘʔυ ▸ λον ▸ ը໘ճస ▸ AssistiveTouch ▸ ζʔϜ ▸ ৭൓స ▸ VoiceOver
  13. SINGLE APP MODE ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸

    ΩʔϘʔυ ▸ λον ▸ ը໘ճస ▸ AssistiveTouch ▸ ζʔϜ ▸ ৭൓స ▸ VoiceOver ଟ਺ͷσόΠεʹ΋EFQMPZՄೳ
  14. SINGLE APP MODE ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ ϘϦϡʔϜϘλϯ ▸

    ΩʔϘʔυ ▸ λον ▸ ը໘ճస ▸ AssistiveTouch ▸ ζʔϜ ▸ ৭൓స ▸ VoiceOver ଟ਺ͷσόΠεʹ΋EFQMPZՄೳ ͔͠͠"1*͕࢖͑ͳ͍
  15. ࣗ཯త SingleAppMode

  16. ࣗ཯తSINGLE APP MODE ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ Multitasking ΞϓϦͷΈར༻Մʹ͢Δ໨త

    ແޮԽͰ͖Δ߲໨͕গͳ͘ઃఆෆՄ
  17. ࣗಈධՁઃఆ (Automatic Assessment Configuration)

  18. ࣗಈධՁઃఆ ▸ ϗʔϜϘλϯ ▸ εϦʔϓ/ϩοΫϘλϯ ▸ Multitasking ▸ ࣗಈิ׬/εϖϧνΣοΫ/༧ଌม׵/ΩʔϘʔυγϣʔτΧοτ/ ΫϦοϓϘʔυ/Ի੠ೖྗ

    ࢼݧར༻ͷͨΊͷ,JPTL ΞϓϦͷΈར༻ՄʹՃ͑ͯ ճ౴ิॿʹͳΔΑ͏ͳػೳͷແޮԽ
  19. Programable Require Supervision Require MDM Guided Access No No No

    SingleApp Mode No Yes No ࣗ཯త SAM Yes Yes Yes ࣗಈධՁ ઃఆ Yes No No
  20. Programable Require Supervision Require MDM Guided Access No No No

    SingleApp Mode No Yes No ࣗ཯త SAM Yes Yes Yes ࣗಈධՁ ઃఆ Yes No No
  21. )PXUP FOBCMF  QSPHSBNBCMF

  22. func UIAccessibilityRequestGuidedAccessSession (_ enable: Bool, completionHandler: @escaping (Bool) -> Void)

  23. UIAccessibilityRequestGuidedAccessSession(true) { success in print(success) } ⚠completionHandler͕࣮ߦ͞ΕΔ·Ͱ਺ඦmsఔ͔͔Δ

  24. -PDLBCMF

  25. εϦʔϓϩοΫϘλϯ͸ ແޮԽର৅

  26. ͔͠͠ ͨ·ʹϩοΫͰ͖Δ

  27. None
  28. ϩοΫͰ͖ ·ͨ͠

  29. Ͱ΋ɺ͜Ε͸ηʔϑ

  30. ը໘ফ౮͞Ε͍ͯΔ͚ͩ ϩοΫղআը໘͸ग़ͳ͍

  31. ,JPTL  $SBTI

  32. ,JPTLϞʔυͰ Ϋϥογϡͨ࣌͠ Ͳ͏ͳΔ͔ʁ

  33. ϗʔϜը໘ʹભҠޙ ࣗಈతʹΞϓϦ͕ىಈ

  34. None
  35. (͏·͘ىಈ͠·ͨ͠)

  36. ఆظతͳ FYJU   ͰϝϞϦͷΫϦΞ͕Մೳ

  37. ͱࢥ͍͖΍ɾɾɾ

  38. None
  39. ΘΓͱىಈ͠ͳ͍

  40. ͔͠΋

  41. ΞϓϦΛλοϓͯ͠΋ ىಈ͠ͳ͍

  42. શΞϓϦɺλοϓͯ͠΋ ىಈ͠ͳ͍☠

  43. XPSLBSPVOE ͋Γ·͢

  44. ,JPTLΦϑͰͷ$SBTI ͳΒൃੜ͠ͳ͍

  45. func NSSetUncaughtExceptionHandler(_: ((NSException) -> Void)?)

  46. func NSSetUncaughtExceptionHandler { exception in UIAccessibilityRequestGuidedAccessSession(false){ _ in } }

  47. 4XJGUͷΫϥογϡͰ͸ ݺ͹Εͳ͍ func NSSetUncaughtExceptionHandler { exception in UIAccessibilityRequestGuidedAccessSession(false){ _ in

    } }
  48. 4XJGUͷΫϥογϡ OJMVOXSBQFUD ͸ ⚡γάφϧ⚡͕ඈͿ͚ͩɻ

  49. SIGNALS ▸ SIGHUP ▸ SIGINT ▸ SIGTRAP ▸ SIGABRT ▸

    SIGKILL ▸ SIGSEGV ▸ … NBOTJHOBMͰ৭ʑݟΕ·͢
  50. ⚡γάφϧ⚡Λτϥοϓ͠Α͏

  51. import Darwin func sigaction(_: Int32, _: UnsafePointer<sigaction>!, _: UnsafeMutablePointer<sigaction>!) ->

    Int32 int sigaction(int sig, const struct sigaction *restrict act, struct sigaction *restrict oact); JO$ NBOTJHBDUJPOͰ৭ʑݟΕ·͢ *#.4XJGU#MVF4JHOBMT͕Φεεϝ
  52. ·ͱΊ ▸ KioskϞʔυʹ͸4छྨ͋Δɺ੍ݶͰ͖Δػೳ͸ͦΕͧΕҧ͏ ▸ API͕࢖͑Δ΋ͷͱ࢖͑ͳ͍KioskϞʔυ͕͋Δ ▸ KioskϞʔυͰ͸ϓϩηε͕ऴྃ͢ΔͱࣗಈͰ࠶ىಈ͞ΕΔ ▸ ࣗಈతͳ࠶ىಈ͸த్൒୺ͳঢ়ଶʹͳΔࣄ͕͋Δ ▸

    த్൒୺ͳঢ়ଶʹͳΔͱ٧Ή ▸ ٧·ͳ͍ͨΊʹNSExceptionͱSIGNALΛΩϟον͠Α͏ʂ
  53. ͓ΘΓɻ