Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アイフォンX、凹みを切るか?凹みを使うか? ~iPhoneX対応のススメ in 2018~

アイフォンX、凹みを切るか?凹みを使うか? ~iPhoneX対応のススメ in 2018~

【サポーターズCoLab勉強会】まだ間に合う!SafeArea完全対応勉強会(iOSアプリ)( https://supporterzcolab.com/event/612/ )での発表資料です。

95f926465b1c71fbb49850c5b6223c4d?s=128

Keisuke Tatsumi

November 15, 2018
Tweet

Transcript

  1. αϙʔλʔζCoLabษڧձ 2018/11/15 cokaholic ~iPhone XରԠͷεεϝ in 2018~

  2. cokaholic • iOS engineer at AbemaTV, Inc. • Github, Qiita:

    cokaholic • Twitter: @TK_u_nya • AppStore: Keisuke Tatsumi
  3. ຊ೔ͷςʔϚ͸…

  4. iPhone XରԠ

  5. Agenda • What’s iPhone X • What’s Safe Area •

    How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
  6. Agenda • What’s iPhone X • What’s Safe Area •

    How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
  7. What’s iPhone X • 2017೥9݄12೔ʹ։࠵͞ΕͨApple Special Eventʹͯൃද͞Εͨ࠷৽ͷiPhone

  8. One more thing…

  9. None
  10. ৽ܕiPhoneΩλʔʂ

  11. What’s iPhone X • 2017೥9݄12೔ʹ։࠵͞ΕͨApple Special Eventʹͯൃද͞Εͨ࠷৽ͷiPhone • Face IDʢإೝূʣʹΑΔϩοΫղআΛ౥ࡌ

  12. None
  13. ະདྷΩλʔʂ

  14. Ͱ΋ɺ͍··ͰͷTouchIDೝূͷ࣮૷෦෼࢖͑ͳ͘Ͷʁ

  15. Touch ID to Face ID • ੜମೝূ͸LocalAuthentication.frameworkͰ؅ཧ ͞Ε͍ͯΔ

  16. Touch ID to Face ID • ੜମೝূ͸LocalAuthentication.frameworkͰ؅ཧ ͞Ε͍ͯΔ • LABiometryTypeͱ͍͏enumͰੜମೝূͷλΠϓ

    Λ؅ཧ͍ͯ͠Δ
  17. Touch ID to Face ID • ੜମೝূ͸LocalAuthentication.frameworkͰ؅ཧ ͞Ε͍ͯΔ • LABiometryTypeͱ͍͏enumͰੜମೝূͷλΠϓ

    Λ؅ཧ͍ͯ͠Δ
  18. Touch ID to Face ID • ੜମೝূ͸LocalAuthentication.frameworkͰ؅ཧ ͞Ε͍ͯΔ • LABiometryTypeͱ͍͏enumͰੜମೝূͷλΠϓ

    Λ؅ཧ͍ͯ͠Δ • framework಺ͰࣗಈͰݕ஌ͯ͠ɺͲͪΒΛ࢖͏͔Λ ൑அ͢ΔͨΊɺ࣮૷͸Touch IDͷͱ͖ͷ··Ͱྑ͍
  19. Touch IDΛ࣮૷ࡁΈͷօ༷ ҆͝৺͍ͩ͘͞ʂ

  20. What’s iPhone X • 2017೥9݄12೔ʹ։࠵͞ΕͨApple Special Eventʹͯൃද͞Εͨ࠷৽ͷiPhone • Face IDʢإೝূʣʹΑΔϩοΫղআΛ౥ࡌ

    • ϕθϧϨεσΟεϓϨΠ
  21. None
  22. ͓Θ͔Γ͍͚ͨͩͨͩΖ͏͔ʁ

  23. None
  24. ͑…͜Ε…ԜΈͷ෦෼ɺ΍͹͘Ͷʁ

  25. ͦ͜Ͱొ৔͢Δͷ͕...

  26. Safe Area

  27. Agenda • What’s iPhone X • What’s Safe Area •

    How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
  28. What’s Safe Area API Roadmap • Apple͕iOS11͔Βಋೖͨ֓͠೦

  29. What’s Safe Area API Roadmap • Apple͕iOS11͔Βಋೖͨ֓͠೦ • φϏήʔγϣϯόʔ΍εςʔλεόʔͳͲͷ֎ ଆͷUIʹඃΒͳ͍҆શͳྖҬΛऔಘͰ͖Δ

  30. What’s Safe Area API Roadmap • Apple͕iOS11͔Βಋೖͨ֓͠೦ • φϏήʔγϣϯόʔ΍εςʔλεόʔͳͲͷ֎ ଆͷUIʹඃΒͳ͍҆શͳྖҬΛऔಘͰ͖Δ

    • iPhone XͷΑ͏ͳԜΈΛؚΜͩը໘ʹ΋ରԠ Ͱ͖Δ
  31. What’s Safe Area API Roadmap • Apple͕iOS11͔Βಋೖͨ֓͠೦ • φϏήʔγϣϯόʔ΍εςʔλεόʔͳͲͷ ֎ଆͷUIʹඃΒͳ͍҆શͳྖҬΛऔಘͰ͖Δ

    • iPhone XͷΑ͏ͳԜΈΛؚΜͩը໘ʹ΋ରԠ Ͱ͖Δ • Xcode9+ɺiOS11+ SDK͕ඞཁ
  32. What’s Safe Area API Roadmap • ηʔϑΤϦΞΛ༗ޮʹ͢Δ 1. StoryboardΛ։͘ 2.

    ӈଆʹ͋ΔInterface BuilderͷΠϯεϖ ΫλΛ։͘ 3. ʮUse Safe Area Layout Guidesʯͷ νΣοΫΛONʹ͢Δ 4. ࣗಈͰηʔϑΤϦΞ(UILayoutGuide) ͕ ௥Ճ͞ΕΔ
  33. What’s Safe Area API Roadmap • ͍··ͰͷStoryboardͰηʔϑΤϦΞΛ༗ޮʹ͢Δͱɺ Top Layout Guide΍Bottom

    Layout Guideʹ઀ଓ͍ͯ͠ ͨϏϡʔ͸ࣗಈͰηʔϑΤϦΞͷTopɺBottomʹࠩ͠ସ ͑ͯ͘ΕΔ ηʔϑΤϦΞద༻લ ηʔϑΤϦΞద༻ޙ
  34. Safe Area Preview API Roadmap J1IPOF9 J1IPOF 1PSUSBJU -BOETDBQF എܠ৭෇͖ͷϥϕϧΛSafeAreaʹදࣔ͢ΔΑ͏ʹ੍໿Λ௥Ճ࣮ͯ͠ߦͨ͠৔߹

  35. ͭ·Γ

  36. ԜΈΛ੾Δ͜ͱͰ

  37. iPhone XରԠ׬ྃʂ

  38. ͱ͸͍͖·ͤΜ

  39. Agenda • What’s iPhone X • What’s Safe Area •

    How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
  40. How To “TRUE” Support iPhone X API Roadmap • ༨ന෦෼ͷഎܠʹؾΛ͚ͭΑ͏

  41. API Roadmap Designing for iPhone X - Fall 2017 -

    Videos - Apple DeveloperΑΓ ηʔϑΤϦΞͰ੾ΓऔΔ͚ͩͷσβΠϯ͸ඇਪ঑
  42. ্Լͷഎܠͱίϯςϯπ༹͕͚ࠐΉΑ͏ʹ iPhoneXͷγϛϡϨʔλͰ֬ೝͰ͖ΔApple͕ఏڙ͍ͯ͠ΔΞϓϦͷྫ News Files Reminder

  43. How To “TRUE” Support iPhone X API Roadmap • ༨ന෦෼ͷഎܠʹؾΛ͚ͭΑ͏

    • ඞཁͳՕॴͰclipsToBoundsʹͳ͍ͬͯΔ͔ؾ Λ͚ͭΑ͏
  44. What’s clipsToBounds API Roadmap • ਌Viewͷ্ʹ௥Ճ͞Εͯ͋ΔSubview͕਌ViewͷྖҬΛ͸Έग़ͨ৔߹ʹɺ ͸Έग़ͨ෦෼Λදࣔ͢Δ͔Ͳ͏͔ΛࢦఆͰ͖ΔUIViewΫϥεͷϓϩύςΟ view1.clipsToBounds = false

    View1.clipsToBounds = true
  45. ͳͥclipsToBoundsʁ

  46. API Roadmap ※ը૾͸։ൃதͷ΋ͷͰ͢ɻରԠ൛Ͱ͸ى͖·ͤΜͷͰɺ҆͝৺͍ͩ͘͞ɻ clipsToBoundsΛ໌֬ʹࢦఆ͓͔ͯ͠ͳ͍ͱɺ ηʔϑΤϦΞ͕શવηʔϑʹͳΒͳ͘ͳΔྫ ແ೦ʹ΋͸Έग़ͯ͠͠·ͬͨ…

  47. How To “TRUE” Support iPhone X • ༨ന෦෼ͷഎܠʹؾΛ͚ͭΑ͏ • ඞཁͳՕॴͰclipsToBoundsʹͳ͍ͬͯΔ͔ؾ

    Λ͚ͭΑ͏ • ίʔυϕʔεͷϏϡʔʹؾΛ͚ͭΑ͏
  48. • ίʔυϕʔεͰViewControllerͷViewͳͲʹ௥Ճ͠ ͍ͯΔViewʹ͸ࣗಈͰηʔϑΤϦΞ͸ద༻͞Εͳ͍ • iOS11͔Β͸UIViewͷϓϩύςΟʹsafeAreaInsets (UIEdgeInsets) ͕௥Ճ͞Ε͍ͯͯɺ͔ͦ͜Βηʔϑ ΤϦΞͷϚʔδϯΛऔಘͰ͖Δ • iOS11+͔͠࢖͑ͳ͍ϓϩύςΟͷͨΊɺ


    #available(iOS 11, *) Ͱͷ෼ذ͕ඞཁ How To Get Safe Area
  49. How To Get Safe Area import UIKit class ViewController: UIViewController

    { // ͜͜ͰsafeAreaInsets͕ॳΊͯ֬ఆ͢Δ override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() // iOS11͔Ͳ͏͔Ͱ෼ذ͢Δ let safeAreaInsets: UIEdgeInsets if #available(iOS 11, *) { safeAreaInsets = view.safeAreaInsets } else { safeAreaInsets = .zero } print("safeAreaInsets: \(safeAreaInsets)") } } ViewController.swift ᶃ safeAreaInsetsΛUIView͔Βऔಘ͢Δ
  50. How To Get Safe Area import UIKit class ViewController: UIViewController

    { // ͜͜ͰsafeAreaInsets͕ॳΊͯ֬ఆ͢Δ override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() // iOS11͔Ͳ͏͔Ͱ෼ذ͢Δ let safeAreaInsets: UIEdgeInsets if #available(iOS 11, *) { safeAreaInsets = view.safeAreaInsets } else { safeAreaInsets = .zero } print("safeAreaInsets: \(safeAreaInsets)") } } ViewController.swift ᶃ safeAreaInsetsΛUIView͔Βऔಘ͢Δ ຖճ͜ͷ෼ذΛॻ͘ͷ͸໘౗͡Όͳ͍ʁ
  51. How To Get Safe Area import UIKit extension UIView {

    var viewSafeAreaInsets: UIEdgeInsets { guard #available (iOS 11, *) else { return .zero } return safeAreaInsets } } UIViewExtension.swift ᶄ safeAreaInsetsΛऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞੒
  52. How To Get Safe Area ᶄ safeAreaInsetsΛऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞੒ ͜ΕͰຖճ෼ذॻ͘໰୊͸ղܾʂ" import UIKit

    class ViewController: UIViewController { // ͜͜ͰsafeAreaInsets͕ॳΊͯ֬ఆ͢Δ override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() let safeAreaInsets = view.viewSafeAreaInsets print("safeAreaInsets: \(safeAreaInsets)") } } ViewController.swift
  53. How To Get Safe Area import UIKit class ViewController: UIViewController

    { // ͜͜ͰsafeAreaInsets͕ॳΊͯ֬ఆ͢Δ override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() let safeAreaInsets = view.viewSafeAreaInsets print("safeAreaInsets: \(safeAreaInsets)") } } ViewController.swift ᶄ safeAreaInsetsΛऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞੒ ͑ʁϓϩύςΟ໊มΘΔͷͬͯ෼͔ΓͮΒ͘ͳ͍ʁ
  54. How To Get Safe Area ᶅ safeAreaInsetsΛsafeAreaInsetsͰऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞੒ Extension༻ͷϓϩύςΟ (exͳͲ) Λܦ༝ͯ͠

    Extensionఆٛͨ͠΋ͷ͔ΒΞΫηε͢Ε͹ɺ ͦͷ··ͷϓϩύςΟ໊ͰΞΫηεͰ͖Δʂ ࢀߟهࣄɿSwiftͷExtensionΛϞμϯͰΦγϟϨʹ࣮૷͢Δ - Qiita URLɿhttps://qiita.com/motokiee/items/e8f07c11b88d692b2cc5
  55. How To Get Safe Area struct Extension<Base> { let base:

    Base init (_ base: Base) { self.base = base } } protocol ExtensionCompatible { associatedtype Compatible static var ex: Extension<Compatible>.Type { get } var ex: Extension<Compatible> { get } } extension ExtensionCompatible { static var ex: Extension<Self>.Type { return Extension<Self>.self } var ex: Extension<Self> { return Extension(self) } } BaseExtension.swift ᶅ safeAreaInsetsΛsafeAreaInsetsͰऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞੒
  56. How To Get Safe Area ᶅ safeAreaInsetsΛsafeAreaInsetsͰऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞੒ import UIKit extension

    UIView : ExtensionCompatible {} extension Extension where Base: UIView { var safeAreaInsets: UIEdgeInsets { guard #available (iOS 11, *) else { return .zero } return base.safeAreaInsets } } UIViewExtension.swift
  57. How To Get Safe Area ᶅ safeAreaInsetsΛsafeAreaInsetsͰऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞੒ import UIKit extension

    UIView : ExtensionCompatible {} extension Extension where Base: UIView { var safeAreaInsets: UIEdgeInsets { guard #available (iOS 11, *) else { return .zero } return base.safeAreaInsets } } UIViewExtension.swift ͜ΕͰϓϩύςΟ໊͕มΘͬͯ͠·͏໰୊΋ղܾʂ"
  58. How To Get Safe Area import UIKit class ViewController: UIViewController

    { // ͜͜ͰsafeAreaInsets͕ॳΊͯ֬ఆ͢Δ override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() let safeAreaInsets = view.ex.safeAreaInsets print("safeAreaInsets: \(safeAreaInsets)") } } ViewController.swift ᶅ safeAreaInsetsΛsafeAreaInsetsͰऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞੒
  59. How To Detect Change Safe Area • iOS11͔Β͸ηʔϑΤϦΞͷมԽΛײ஌͢ΔͨΊʹUIViewʹ open func

    safeAreaInsetsDidChange() ͕ɺUIViewController ʹ open func viewSafeAreaInsetsDidChange() ͕௥Ճ͞Εͯ ͍Δ • ͦΕͧΕɺΦʔόʔϥΠυ͢Δ͜ͱͰɺϝιου಺Ͱηʔϑ ΤϦΞͷมԽΛײ஌Ͱ͖Δ • มԽ͸ݕ஌Ͱ͖Δ͕ɺҾ਺Ͱ safeAreaInsets ͸ड͚औΕͳ͍ ͨΊɺϝιου಺Ͱࣗ਎Ͱऔಘ͢Δඞཁ͕͋Δ
  60. How To “TRUE” Support iPhone X API Roadmap • ༨ന෦෼ͷഎܠʹؾΛ͚ͭΑ͏

    • ඞཁͳՕॴͰclipsToBoundsʹͳ͍ͬͯΔ͔ؾ Λ͚ͭΑ͏ • ίʔυϕʔεͷϏϡʔʹؾΛ͚ͭΑ͏ • ϑϧεΫϦʔϯදࣔͰͷΞεϖΫτൺ͸कΖ͏
  61. Designing for iPhone X - Fall 2017 - Videos -

    Apple DeveloperΑΓ ίϯςϯπΛϑϧεΫϦʔϯදࣔ͢Δࡍʹ͸ΞεϖΫτൺΛอͪ·͠ΐ͏ iPhone8 (16:9) Λج४ʹ͢Δ৔߹ ࠨӈΛ੾Γऔͬͯදࣔ ্ԼΛԜ·ͤͯදࣔ or
  62. Designing for iPhone X - Fall 2017 - Videos -

    Apple DeveloperΑΓ ίϯςϯπΛϑϧεΫϦʔϯදࣔ͢Δࡍʹ͸ΞεϖΫτൺΛอͪ·͠ΐ͏ iPhoneX (18:9) Λج४ʹ͢Δ৔߹ ্ԼΛ੾Γऔͬͯදࣔ ࠨӈΛԜ·ͤͯදࣔ or
  63. جຊతʹ͸ɺiPhone8ج४ͰӈଆͷύλʔϯΛ࠾༻͢Δ͜ͱ͕ଟ͍ iPhone8 (16:9) Λج४ʹ͢Δ৔߹ ࠨӈΛ੾Γऔͬͯදࣔ ্ԼΛԜ·ͤͯදࣔ or

  64. ͔͠͠ɺ͜͜Ͱ໰୊͕

  65. Safe Area Preview API Roadmap J1IPOF9 J1IPOF 1PSUSBJU -BOETDBQF എܠ৭෇͖ͷϥϕϧΛSafeAreaʹදࣔ͢ΔΑ͏ʹ੍໿Λ௥Ճ࣮ͯ͠ߦͨ͠৔߹

  66. Safe Area Preview API Roadmap J1IPOF9 J1IPOF 1PSUSBJU -BOETDBQF എܠ৭෇͖ͷϥϕϧΛSafeAreaʹදࣔ͢ΔΑ͏ʹ੍໿Λ௥Ճ࣮ͯ͠ߦͨ͠৔߹

  67. Safe Area Preview API Roadmap J1IPOF9 J1IPOF 1PSUSBJU -BOETDBQF എܠ৭෇͖ͷϥϕϧΛSafeAreaʹදࣔ͢ΔΑ͏ʹ੍໿Λ௥Ճ࣮ͯ͠ߦͨ͠৔߹

    ఈ͕੾ΕͪΌͬͯΔΜͰ͚͢Ͳ…
  68. How To Support Fullscreen API Roadmap • Bottomͷ੍໿Λ࣍ͷΑ͏ʹมߋ͠·͠ΐ͏ Portraitͷͱ͖

  69. How To Support Fullscreen API Roadmap • Bottomͷ੍໿Λ࣍ͷΑ͏ʹมߋ͠·͠ΐ͏ Portraitͷͱ͖

  70. How To Support Fullscreen API Roadmap • Bottomͷ੍໿Λ࣍ͷΑ͏ʹมߋ͠·͠ΐ͏ Landscapeͷͱ͖

  71. How To Support Fullscreen API Roadmap • Bottomͷ੍໿Λ࣍ͷΑ͏ʹมߋ͠·͠ΐ͏ Landscapeͷͱ͖

  72. How To Support Fullscreen ͜ΕͰແࣄʹϑϧεΫϦʔϯදࣔ׬ྃʂ

  73. How To Support Fullscreen ͜ΕͰແࣄʹϑϧεΫϦʔϯදࣔ׬ྃʂ

  74. How To Support Fullscreen Home Indicator ͕अຐͳΜͰ͚͢Ͳ…

  75. How To Support Fullscreen • Home Indicator ͸ඇදࣔʹͰ͖Δ ‣ iOS11͔Β͸UIViewControllerͷΦʔόʔϥΠυϝιο

    υͱͯ͠ɺ༻ҙ͞Ε͍ͯΔ import UIKit class ViewController: UIViewController { private var isHiddenHomeIndicator: Bool = true override func viewDidLoad() { super.viewDidLoad() // HomeIndicatorͷදࣔΛߋ৽͢ΔͨΊͷϝιου if #available(iOS 11, *) { setNeedsUpdateOfHomeIndicatorAutoHidden() } } @available(iOS 11, *) override func prefersHomeIndicatorAutoHidden() -> Bool { return isHiddenHomeIndicator } } UIViewController.swift
  76. How To Support Fullscreen Preview

  77. How To Support Fullscreen ͜ΕͰຊ౰ʹϑϧεΫϦʔϯදࣔ׬ྃʂ"

  78. Agenda • What’s iPhone X • What’s Safe Area •

    How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
  79. ࣌͸2018೥9݄12೔

  80. New iPhoneX

  81. ࣌͸2018೥10݄30೔

  82. New iPad Pro

  83. New iPad Pro Good bye, home buttonʂ

  84. Support iPhone X in 2018 • isIphoneX͸΋͏࢖͑ͳ͍

  85. iOS Devices With Safe Area 2017೥11݄࣌఺Ͱ͸ηʔϑΤϦΞΛ࣋ͬͨiOS୺຤͸iPhone X ͚ͩͰ͕ͨ͠… 2018೥11݄ݱࡏɺηʔϑΤϦΞΛ࣋ͬͨiOS୺຤͸ҎԼͷ5छ ྨʹͳΓ·ͨ͠

    ‣ iPhone X ‣ iPhone XS ‣ iPhone XS Max ‣ iPhone XR ‣ iPad Pro (mid2018)
  86. iOS Devices With Safe Area 2017೥11݄࣌఺Ͱ͸ηʔϑΤϦΞΛ࣋ͬͨiOS୺຤͸iPhone X ͚ͩͰ͕ͨ͠… 2018೥11݄ݱࡏɺηʔϑΤϦΞΛ࣋ͬͨiOS୺຤͸ҎԼͷ5छ ྨʹͳΓ·ͨ͠

    ‣ iPhone X (5.8 inch) ‣ iPhone XS (5.8 inch) ‣ iPhone XS Max (6.5 inch) ‣ iPhone XR (6.1 inch) ‣ iPad Pro (mid2018) (11 inch, 12.9 inch)
  87. Good Bye isIphoneX ͍··Ͱ͸ Ekhoo/Device ͳͲͰ୺຤όʔδϣϯ΍ը໘αΠζΛ࢖ͬͯ isIphoneX: Bool ͳΔ൑ఆΛߦ͏͜ͱ͕Ͱ͖͕ͨɺ΋͸΍͜Ε·Ͱ Ekhoo/Device

    https://github.com/Ekhoo/Device
  88. Support iPhone X in 2018 • isIphoneX͸΋͏࢖͑ͳ͍ • iPadͰ͋ͬͯ΋ηʔϑΤϦΞΛߟྀ͢Δඞཁ ͕͋Δ

  89. Support New iPad Pro ͍··Ͱ͸iPadͰ͸ߟྀ͠ͳͯ͘Α͔ͬͨηʔϑΤϦΞ ͕ͩɺࠓճͷ৽ܕiPad Pro͔Β͸ߟྀ͕ඞཁ

  90. Support New iPad Pro Xcode 10.1Ҏ߱ͰϏϧυ͠ͳ͍ͱɺ৽ܕiPad Proͷ ηʔϑΤϦΞ͸֬ೝͰ͖ͳ͍

  91. Support iPhone X in 2018 • isIphoneX͸΋͏࢖͑ͳ͍ • iPadͰ͋ͬͯ΋ηʔϑΤϦΞΛߟྀ͢Δඞཁ ͕͋Δ

    • ͜Ε͔Βͷ͜ͱΛߟ͑Α͏
  92. Think About The Future • ࠓ೥ͷ৽ܕiOS୺຤ͷൃදΛݟΔݶΓɺࠓޙൃද͞ΕΔ ୺຤͸͢΂ͯηʔϑΤϦΞΛ͍࣋ͬͯΔՄೳੑ͕͋Δ • ηʔϑΤϦΞΛߟྀͨ͠࡞Γʹ͓͚ͯ͠͹ɺͲΜͳ୺຤ ͕དྷͯ΋ා͘ͳ͍ͷͰɺීஈ͔ΒηʔϑΤϦΞΛҙࣝ͠

    ͨΞϓϦ։ൃΛ৺͕͚Δ
  93. Agenda • What’s iPhone X • What’s Safe Area •

    How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
  94. Summary • iPhone XʹରԠ͢Δʹ͸ηʔϑΤϦΞͷ֓೦͕ॏཁʹͳ Δ • ηʔϑΤϦΞ಺Ͱ׬݁͢Δ͚ͩͰ͸iPhoneXରԠʹ͸ͳ Βͳ͍ • ԜΈΛ੾Δ͚ͩͰͳ͘ɺԜΈΛ࢖ͬͯɺԜΈΛ׆͔ͨ͠

    ࣮૷͕ඞཁ • ීஈ͔ΒηʔϑΤϦΞΛҙࣝͨ͠։ൃΛ৺͕͚Δ
  95. Summary ʲਵ࣌ߋ৽ʳiPhoneX׬શରԠϚχϡΞϧ - Qiita
 https://qiita.com/cokaholic/items/6a8ee3852c8ed28ea2aa

  96. Thank youʂ