iOSDC Japan 2017「iOSデバイス3,500台を管理する、 東急ハンズのデバイス手法とは」

iOSDC Japan 2017「iOSデバイス3,500台を管理する、 東急ハンズのデバイス手法とは」

iOSDC Japan 2017
2017/09/17 14:20~
iOSデバイス3,500台を管理する、 東急ハンズのデバイス手法とは

# Demo 動画

https://www.youtube.com/watch?v=KNSxw1LS7cE&feature=youtu.be

# Keyword

## Services

MDM: Mobile Device Management
DEP: Device Enrollment Program
VPP: Volume Purchase Program
AC2: Apple Configurator 2

## Tips

- 自爆アップデート(Harakiri-Updater)
- Wi-Fi接続をホワイトリスト設定 Tips

# Rerefernces

MDM Protocol
https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/MobileDeviceManagementProtocolRef/3-MDM_Protocol/MDM_Protocol.html

Configuration Profile Reference
https://developer.apple.com/library/content/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html

A6b341ce8c629d15aebbaa6692e7767b?s=128

Yusuke Kuroiwa

September 17, 2017
Tweet

Transcript

  1. iOSσόΠε3,500୆Λ؅ཧ͢Δɺ ౦ٸϋϯζͷσόΠεख๏ͱ͸ 2017೥9݄17೔ (iOSDC Japan 2017) Yusuke Kuroiwa

  2. Who? • Yusuke Kuroiwa • ͖ΜͪΌΜɻ • ϋϯζϥϘגࣜձࣾ • iOS

    Engineer • iPad POS Appઃܭɾ։ൃɾಋೖɾઃஔɾӡ༻ • iOS Device Management ← Twitter: @wa_kinchan GitHub: @wakinchan
  3. ࡢ೥ͷiOSDCͰͷొஃ ౦ٸϋϯζͷPOS͔ΒֶΜͩɺۀ຿ iOSΞϓϦͷ޲͖߹͍ํ Silent Push௨஌ͰΞϓϦࡴ͢Ϛϯ

  4. ౦ٸϋϯζͷ
 iOS Devices

  5. iTouch ౦ٸϋϯζͷPDA

  6. ౦ٸϋϯζͷiPod touch • iPod touch 5, 6th: 3,000୆ (ॱ࣍iPhone SEʹஔ͖׵͑༧ఆ)

    • ಺੡ΞϓϦͷػೳ: ঎඼ൃ஫ɺࡏݿ֬ೝɺ঎඼ݕࡧɺ౳ • AppStoreͷ20Ҏ্ͷΞϓϦΛΠϯετʔϧ
  7. HandsPOS ౦ٸϋϯζͷPOS

  8. ౦ٸϋϯζͷiPad • iPad Air 2, iPad 5th: 800ຕ 㱺 ల։ޙ:

    1,600ຕ • ಺੡ΞϓϦͷػೳ: iPad POS
  9. ΩοςΟϯάͬͯେม

  10. None
  11. None
  12. ΩοςΟϯάΛ ೗Կʹ؆ུԽ͢Δ͔

  13. ΩοςΟϯάͷෛՙΛܰݮͤ͞ΔαʔϏε • MDM/MAM: σόΠε؅ཧ(֤छMDMίϚϯυૹ৴)ɺΞϓϦ഑෍ɾ؅ཧ • DEP: Α͏ͦ͜ը໘ͷઃఆͷ࡟ݮɺMDMڧ੍ࢀՃ • VPP: ΞϓϦϥΠηϯεҰׅߪೖɺMDMʹ͔Β഑෍Մೳ

    • AC2: ߏ੒ϓϩϑΝΠϧ(.mobileconfig)ͷ࡞੒
  14. MDM (Mobile Device Management) • σόΠε؅ཧ͕Մೳʂ • ֤छ৘ใऔಘ (OS Version,

    Model, Serial Number, Device Disk Capacity, …) • ߏ੒ϓϩϑΝΠϧ (.mobileconfig) ͷ഑෍ • Provisioning Profileͷ഑෍ • iOSΞοϓσʔτ, ฆࣦϞʔυ༗ޮ(Ґஔ৘ใऔಘ), ϦϞʔτϫΠϓ • γϟοτμ΢ϯ & Ϧϒʔτ
  15. MDM services • CLOMO • Meraki • Mobile Iron (ϞόΠϧΞΠΞϯ)

    • Apple Configurator 2 (Profile Manager) • …
  16. MDM Protocol • https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/ MobileDeviceManagementProtocolRef/3-MDM_Protocol/MDM_Protocol.html

  17. Provisioning Profile distribution • In-House appͷProvisioning Profile͸ظݶ͕1೥ • ࣄނͷݩ (͜ΕͰΞϓϦͷΞοϓσʔτΛͤͣͱ΋ߋ৽͕Մೳ)

    • Provisioning Profile͚ͩMDMͰ഑෍Մೳ • ※ ద༻͢Δʹ͸୺຤࠶ىಈඞཁ
  18. MAM (Mobile Application Management) • ϞόΠϧΞϓϦͷ؅ཧ͕Մೳʂେ఍MDMͱ౷߹ • ΞϓϦΠϯετʔϧ/࡟আɺΞϓϦҰཡऔಘɺVPPϥΠηϯ ε෇༩/ണୣ ౳

    • ؅ཧ഑෍ग़དྷΔίϯςϯπ • VPP Apps (AppStore Apps), In-House App • Book
  19. ౦ٸϋϯζͰར༻͍ͯ͠ΔMDM

  20. VPP (Volume Purchase Program ) • AppStoreͰ഑෍͞Ε͍ͯΔΞϓϦ(ϥΠηϯε)ΛҰׅͰߪೖ͕Մೳ • ແঈ/༗ঈΞϓϦ྆ํߪೖՄೳ •

    ҰׅͰߪೖͨ͠ϥΠηϯεΛMDM͔Β؅ཧ഑෍͕Մೳ
  21. Device-based apps distribution • MDM͔ΒσόΠεʹରͯ͠VPPͷϥΠηϯεΛ෇༩Λग़དྷΔ • σόΠεʹରͯ͠෇༩Λߦ͏ͨΊɺApple ID͕ෆཁ • ͜ΕʹΑΓඇৗʹָʹAppStoreΞϓϦΛ؅ཧ഑෍ग़དྷΔ

    • ର: User-based apps͸iOS 9Ҏલ͸ओྲྀͰ͋ͬͨ(Apple IDඞਢ)
  22. DEP (Device Enrollment Program ) • iOSσόΠεΛ։෧ͯ͠ىಈͨ͠ॠ͔ؒΒɺΑ͏ͦ͜ը໘ͷ ෆཁͳઃఆ߲໨͕࡟আ͞ΕɺΩοςΟϯάָ͕ʹͳΔ

  23. DEPػೳ • Α͏ͦ͜ը໘ͰɺMDM΁ͷࢀՃΛڧ੍͕Մೳɺ؂ࢹର৅Ϟʔυʹग़དྷΔ • ͦͷޙɺMDMͷػೳͰඞཁͳΞϓϦͷࣗಈΠϯετʔϧɺࣗಈϓϩϑΝ Πϧద༻͜ͱͰɺΩοςΟϯάͷ࡞ۀ୹ॖՄೳ

  24. DEPར༻৚݅ • DEPΛར༻͢Δʹ͸DEPʹରԠͨ͠Apple௚Ӧൢചళ͔Βσ όΠεΛങ͏ඞཁ͕͋ΓɺങͬͨΒͦͷ୺຤ΛͲ͜ͷMDM ʹඥ෇͚Δ͔Λࣄલʹઃఆ͓ͯ͘͠ඞཁ͸͋Δ

  25. AC2 (Apple Configurator 2) • macOS application (Mac AppStoreʹ͋Δ) •

    ߏ੒ϓϩϑΝΠϧ(.mobileconfig)ͷ࡞੒ (xmlܗࣜ) • iOSଆͰը໘ૢ࡞ແ͠ʹɺઃఆͷྲྀ͠ࠐΈ͕Մೳ
  26. Configuration Profile Reference • https://developer.apple.com/library/content/featuredarticles/iPhoneConfigurationProfileRef/ Introduction/Introduction.html

  27. ΩοςΟϯάͷෛՙΛܰݮͤ͞ΔαʔϏε • MDM/MAM: σόΠε؅ཧ(֤छMDMίϚϯυૹ৴)ɺΞϓϦ഑෍ɾ؅ཧ • DEP: Α͏ͦ͜ը໘ͷઃఆͷ࡟ݮɺMDMڧ੍ࢀՃ • VPP: ΞϓϦϥΠηϯεҰׅߪೖɺMDMʹ͔Β഑෍Մೳ

    • AC2: ߏ੒ϓϩϑΝΠϧ(.mobileconfig)ͷ࡞੒
  28. Tips!

  29. MDMͷΞϓϦͷΠϯετʔϧ௨஌ ಧ͔ͳ͍໰୊ Tips 1

  30. MDMͷΞϓϦͷΠϯετʔϧ௨஌ ಧ͔ͳ͍໰୊ • MDMͷΞϓϦͷΠϯετʔϧ௨஌͕୺຤ʹ౸ୡͤͣɺΞο ϓσʔτ͕ग़དྷͳ͍৔߹͕͋Δ • MDM͸ϓογϡ௨஌Λར༻ͯ͠୺຤ʹରͯ͠ॲཧΛߦ͏ • Ξοϓσʔτग़དྷͳ͍ͱɺPOSϨδͱͯ͠͸க໋తͰ͋ ΓɺΞοϓσʔτ࿙ΕʹΑΔళฮ΁ͷ࿈བྷɺి࿩͕େม

  31. None
  32. ࣗ਎ͷΞϓϦ͔Β ࣗരΞοϓσʔτػೳΛ ࣮૷Ͱ͖ͳ͍͔

  33. SFSafariViewControllerͰɺ ΠϯετʔϧϦϯΫΛදࣔͯ͠ ΠϯετʔϧϘλϯΛԡͯ͠΋Β͑Ε͹ɺ ࣗരͰΞοϓσʔτग़དྷΔΜ͡ΌͶ?

  34. SFSafariViewController Harakiri-Updater • ݁Ռ: ग़དྷͨ • UIWebView͸ग़དྷͳ͔ͬͨ(ݖݶ͕ͳ͍) • 3λοϓͰΞοϓσʔτՄೳʹ

  35. ΋ͬͱ؆୯ʹग़དྷͳ͍͔

  36. URL Scheme Harakiri-Updater • itms-service:// ͳURLεΩʔϜͰmanifest plistΛ௚઀։͘ • iOS 11

    GMҎ߱͸ࣗಈΞϓϦ͕ࢮͳͳ͍ͨΊɺ exit(EXIT_SUCCESS) ౳Ͱࣗര͢Δඞཁ͕͋Δ
  37. Demo

  38. ϫϯλοϓͰग़དྷͨ

  39. Wi-Fi઀ଓΛϗϫΠτϦετͰ ੍ݶ͢ΔઃఆʹؾΛ͚ͭΖ!! Tips 2

  40. Wi-FiϓϩϑΝΠϧ

  41. Wi-Fi઀ଓΛϗϫΠτϦετ੍ݶ • ϓϩϑΝΠϧʹΑͬͯΠϯετʔϧ͞Εͨ Wi-Fi ωοτ ϫʔΫͷΈ઀ଓ (؂ࢹର৅ͷΈ) iOS10.3Ҏ߱

  42. Wi-Fi઀ଓΛϗϫΠτϦετ੍ݶ 1. AC2Ͱ࡞੒ͨ͠Wi-FiઃఆͷϓϩϑΝΠϧΛ୺຤ʹྲྀ͠ࠐΉ 2. AC2Ͱ࡞੒ͨ͠Wi-Fi઀ଓϗϫΠτϦετ੍ݶઃఆͷϓϩ ϑΝΠϧΛ୺຤ʹྲྀ͠ࠐΉ 3. Wi-FiઃఆͷϓϩϑΝΠϧͰࢦఆ͞ΕͨSSIDͷΈ͕ɺ઀ଓ ͕Մೳʹ

  43. Wi-FiϓϩϑΝΠϧ͕ͳ͍ͷʹ Wi-Fi੍ݶϗϫΠτϦετઃఆ͕ೖΔͱ…

  44. iTunesͰϦΧόϦ͢Δ·Ͱೋ౓ͱ ॳظԽ͕ग़དྷͳ͍ ஍ཕײ͋ΔΑ..͜ͷػೳ

  45. ղܾํ๏ • Wi-FiઃఆͱWi-Fi઀ଓϗϫΠτϦετ੍ݶ ઃఆΛҰॹͷϓϩϑΝΠϧʹ͢Δ

  46. ϋϯζϥϘ͸ iOS x Swift όϦόϦ΍ͬͯ·͢ Լͷϒʔεʹདྷ͍ͯͩ͘͞

  47. WE ARE HIRING!! HANDS LAB INC.