iPhone 設定をアプリから操作してらくらく環境構築 / Easy provisioning iPhone using Configuration Profile via iOS App

151a0b14f5914e786e2e104cfb3a9b2f?s=47 Kuniwak
September 06, 2019

iPhone 設定をアプリから操作してらくらく環境構築 / Easy provisioning iPhone using Configuration Profile via iOS App

151a0b14f5914e786e2e104cfb3a9b2f?s=128

Kuniwak

September 06, 2019
Tweet

Transcript

  1. J1IPOFઃఆΛ
 ΞϓϦ͔Βૢ࡞ͯ͠
 Β͘Β͘؀ڥߏங Kuniwak - DeNA Co.,Ltd. 2019.09.05 iOSDC Japan

    2019
  2. ,VOJXBL w ॴଐ→ w HJUIVCDPN,VOJXBL w RJJUBDPN,VOJXBL w "QQ$PEF-PWFS

  3. આ໌͢Δ͜ͱ

  4. ઃఆΛ͔ͭ͞ͲΔ
 ઃఆϓϩϑΝΠϧ ΞϓϦܦ༝Ͱ
 ద༻͢Δํ๏ 1 2

  5. ઃఆΛ͔ͭ͞ͲΔ
 ઃఆϓϩϑΝΠϧ ΞϓϦܦ༝Ͱ
 ద༻͢Δํ๏ 1 2 ศར ͪΐͬͱ ҋ

  6. ஫ҙ఺

  7. ͜ͷٕज़Λѱ༻͢ΔͱϨϏϡʔͰ
 མͱ͞ΕΔՄೳੑ͕ߴ͍Ͱ͢ ϢʔβʔͷརӹʹͳΔͱ͖ͷΈ
 ࢖͏Α͏ʹ͠·͠ΐ͏

  8. ઃఆϓϩϑΝΠϧͱ͸ ෼Ͱཧղ͢Δ

  9. J1IPOFͷઃఆΛ
 ॻ͖׵͑ΔͨΊͷϑΝΠϧ ؆୯ʹ͍͏ͱ

  10. ͲΜͳઃఆΛॻ͖׵͑ΒΕΔͷ͔ʁ

  11. "QQMF$POpHVSBUPSͰ
 ׬શʹཧղՄೳ

  12. ϑΝΠϧ৽نϓϩϑΝΠϧΛ։͘

  13. ࠨΧϥϜͷؾʹͳΔηϧΛબ୒

  14. ྫ͑͹ʮ8J'JʯͰઃఆͰ͖Δ͜ͱ͸ʁ ʮߏ੒ʯΛΫϦοΫ

  15. 8J'Jͷ઀ଓઃఆ ྫ͑͹ʮ8J'JʯͰઃఆͰ͖Δ͜ͱ͸ʁ

  16. ྫ͑͹ʮ௨஌ʯͰઃఆͰ͖Δ͜ͱ͸ʁ ʮߏ੒ʯΛΫϦοΫ

  17. ʮ ʯΛΫϦοΫ ྫ͑͹ʮ௨஌ʯͰઃఆͰ͖Δ͜ͱ͸ʁ

  18. ઃఆ͍ͨ͠ΞϓϦΛݕࡧ ྫ͑͹ʮ௨஌ʯͰઃఆͰ͖Δ͜ͱ͸ʁ

  19. ͍Ζ͍ΖઃఆͰ͖Δʜʂ ྫ͑͹ʮ௨஌ʯͰઃఆͰ͖Δ͜ͱ͸ʁ

  20. ʮ(PPHMFΞΧ΢ϯτʯͰઃఆͰ͖Δ͜ͱ͸ʁ ʮߏ੒ʯΛΫϦοΫ

  21. ʮ(PPHMFΞΧ΢ϯτʯͰઃఆͰ͖Δ͜ͱ͸ʁ ෳ਺ͷ(PPHMFΞΧ΢ϯτΛొ࿥Ͱ͖Δ

  22. w ূ໌ॻ w 71/ w ϑΥϯτ w "JS1MBZ w "JS1SJOU

    w ϝʔϧΞΧ΢ϯτ w 8FCΫϦοϓ w )551ϓϩΩγ w %/4ϓϩΩγ w ίϯςϯπϑΟϧλ ଞʹ΋ͨ͘͞Μͷઃఆ߲໨͕͋Δ
  23. $ plutil -p path/to/your.mobileconfig { "PayloadContent" => [ 0 =>

    { "NotificationSettings" => [ 0 => { "BundleIdentifier" => "com.apple.AppStor } ] "PayloadDescription" => "Appͷ௨஌ઃఆΛߏ੒͠· "PayloadDisplayName" => "௨஌" ઃఆϓϩϑΝΠϧ͸ͨͩͷQMJTU ϑΟʔϧυͷҙຯ͸ʮConfiguration Profile ReferenceʯΛࢀর͍ͯͩ͘͠͞
 https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf
  24. ઃఆϓϩϑΝΠϧ͸
 4BGBSJͳͲ͔Β΋
 ΠϯετʔϧՄೳ )551Ͱ഑৴͢Δ͚ͩ

  25. ઃఆϓϩϑΝΠϧ·ͱΊ J1IPOFͷઃఆΛ
 ॻ͖׵͑ΔͨΊͷ
 QMJTUܗࣜͷϑΝΠϧ

  26. ΞϓϦ͔ΒઃఆΛ
 ɹૢ࡞͢Δํ๏ ෼Ͱཧղ͢Δ

  27. ී௨ͷ࢖͍ํͰ͸ɺઃఆϓϩϑΝΠϧ͸
 ΞϓϦͰ͸ͳ͘ϑΝΠϧαʔόʔ͔Β
 Πϯετʔϧ͞ΕΔ

  28. Ͳ͏͍͏ͱ͖ʹΞϓϦ͔Β
 Πϯετʔϧͨ͘͠ͳΔͷ͔ʁ Ͱ͸

  29. 8J'Jʹ23ίʔυͰ઀ଓ͍ͨ͠ ྫ͑͹ J04Ҏ߱Ͱ͸ඪ४ػೳͰ͕͢ɺJ04ະຬΛݕূ؀ڥͳͲͰ
 େྔʹอ༗͍ͯ͠Δͱɺ͜ͷػೳ͕J04ະຬͰ΋ཉ͘͠ͳΔͷͰ͢

  30. ΞϓϦ಺ͷॲཧ <plist\> 23ίʔυࡱӨ QMJTUΛ࡞੒ ద༻

  31. ೉͍͠ 23ίʔυࡱӨ QMJTUΛ࡞੒ ద༻ ΞϓϦ಺ͷॲཧ <plist\>

  32. ͦ΋ͦ΋ઃఆϓϩϑΝΠϧΛ
 Πϯετʔϧ͢Δ"1*͕ͳ͍ ͳͥͳΒ

  33. ఘΊͣʹ͍Ζ͍Ζ
 ࢼͯ͠ΈΑ͏ʂ

  34. %BUB63-ͰΰϦԡ͠ʜʁ let dataURL = URL(string:
 "data:application/x-apple-aspen-config," +
 "<?xml version="1.0" encoding="UTF-8"?>"

    +
 "<!DOCTYPE plist ...")!
 
 UIApplication.shared.open(dataURL)
  35. %BUB63-ͰΰϦԡ͠ʜʁ let dataURL = URL(string:
 "data:application/x-apple-aspen-config," +
 "<?xml version="1.0" encoding="UTF-8"?>"

    +
 "<!DOCTYPE plist ...")!
 
 UIApplication.shared.open(dataURL) ແ൓Ԡʂ
  36. αʔόʔʹ༻ҙͯ͠΋Β͏ʜʁ let mobileConfigURL = createMobileConfig()
 
 UIApplication.shared.open(mobileConfigURL)

  37. αʔόʔʹ༻ҙͯ͠΋Β͏ʜʁ let mobileConfigURL = createMobileConfig()
 
 UIApplication.shared.open(mobileConfigURL) Πϯλʔωοτ΁ܨ͙ͨΊʹ
 Πϯλʔωοτ͕ඞཁʂ

  38. ສࣄٳ͔͢ʜ

  39. ສࣄٳ͔͢ʜ

  40. ສࣄٳ͔͢ʜ

  41. ͋ɺJ04ͬͯཪଆͰ
 )551αʔόʔΛ
 ݐͯΒΕΔ͡ΌΜ

  42. ΞϓϦ಺ʹαʔόʔ༻ҙͯ͠
 MPDBMIPTUͳ63-Λ
 6*"QQMJDBUJPOPQFO͢Ε͹ʜ

  43. ͨͩɺ4BGBSJ΁ભҠ͔ͯ͠Β
 μ΢ϯϩʔυ͞ΕΔͷͰ
 CBDLHSPVOEͰ΋
 αʔόʔ͕ಈ͘Α͏ʹ͠·͢

  44. None
  45. None
  46. ػ಺ϞʔυͰ΋ಈ࡞Մೳ

  47. ศརʂ

  48. (JU)VCͰίʔυݟΒΕ·͢

  49. ·ͱΊ ઃఆϓϩϑΝΠϧ͸
 ΞϓϦ಺αʔόʔ͔Β
 4BGBSJܦ༝Ͱద༻Ͱ͖Δ