Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アイフォンX、凹みを切るか?凹みを使うか? ~iPhoneX対応のススメ in 2018~
Search
Keisuke Tatsumi
November 15, 2018
Technology
0
170
アイフォンX、凹みを切るか?凹みを使うか? ~iPhoneX対応のススメ in 2018~
【サポーターズCoLab勉強会】まだ間に合う!SafeArea完全対応勉強会(iOSアプリ)(
https://supporterzcolab.com/event/612/
)での発表資料です。
Keisuke Tatsumi
November 15, 2018
Tweet
Share
More Decks by Keisuke Tatsumi
See All by Keisuke Tatsumi
Cross Deviceチームにおけるスマートテレビアプリ開発ってどんな感じ?
cokaholic
0
360
AbemaTV×Keirin AR
cokaholic
2
3.3k
とある端末の触覚技術 -フィードバック-
cokaholic
0
3.3k
ゼロから始める ARKit
cokaholic
0
220
アイフォンX、凹みを切るか?凹みを使うか? ~iPhoneX対応のススメ~
cokaholic
13
11k
ゼロから始める Drag and Drop
cokaholic
1
1.1k
Other Decks in Technology
See All in Technology
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
9
120k
Vueで Webコンポーネントを作って Reactで使う / 20241030-cloudsign-vuefes_after_night
bengo4com
4
2.5k
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
140
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
250
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
3
320
チームを主語にしてみる / Making "Team" the Subject
ar_tama
3
280
2024-10-30-reInventStandby_StudyGroup_Intro
shinichirokawano
1
560
現地でMeet Upをやる場合の注意点〜反省点を添えて〜
shotashiratori
0
460
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
1
140
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
【若手エンジニア応援LT会】AWSで繋がり、共に成長! ~コミュニティ活動と新人教育への挑戦~
kazushi_ohata
0
150
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
600
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Why Our Code Smells
bkeepers
PRO
334
57k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Visualization
eitanlees
144
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Transcript
αϙʔλʔζCoLabษڧձ 2018/11/15 cokaholic ~iPhone XରԠͷεεϝ in 2018~
cokaholic • iOS engineer at AbemaTV, Inc. • Github, Qiita:
cokaholic • Twitter: @TK_u_nya • AppStore: Keisuke Tatsumi
ຊͷςʔϚ…
iPhone XରԠ
Agenda • What’s iPhone X • What’s Safe Area •
How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
Agenda • What’s iPhone X • What’s Safe Area •
How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
What’s iPhone X • 20179݄12ʹ։࠵͞ΕͨApple Special Eventʹͯൃද͞Εͨ࠷৽ͷiPhone
One more thing…
None
৽ܕiPhoneΩλʔʂ
What’s iPhone X • 20179݄12ʹ։࠵͞ΕͨApple Special Eventʹͯൃද͞Εͨ࠷৽ͷiPhone • Face IDʢإೝূʣʹΑΔϩοΫղআΛࡌ
None
ະདྷΩλʔʂ
Ͱɺ͍··ͰͷTouchIDೝূͷ࣮෦͑ͳ͘Ͷʁ
Touch ID to Face ID • ੜମೝূLocalAuthentication.frameworkͰཧ ͞Ε͍ͯΔ
Touch ID to Face ID • ੜମೝূLocalAuthentication.frameworkͰཧ ͞Ε͍ͯΔ • LABiometryTypeͱ͍͏enumͰੜମೝূͷλΠϓ
Λཧ͍ͯ͠Δ
Touch ID to Face ID • ੜମೝূLocalAuthentication.frameworkͰཧ ͞Ε͍ͯΔ • LABiometryTypeͱ͍͏enumͰੜମೝূͷλΠϓ
Λཧ͍ͯ͠Δ
Touch ID to Face ID • ੜମೝূLocalAuthentication.frameworkͰཧ ͞Ε͍ͯΔ • LABiometryTypeͱ͍͏enumͰੜମೝূͷλΠϓ
Λཧ͍ͯ͠Δ • frameworkͰࣗಈͰݕͯ͠ɺͲͪΒΛ͏͔Λ அ͢ΔͨΊɺ࣮Touch IDͷͱ͖ͷ··Ͱྑ͍
Touch IDΛ࣮ࡁΈͷօ༷ ҆͝৺͍ͩ͘͞ʂ
What’s iPhone X • 20179݄12ʹ։࠵͞ΕͨApple Special Eventʹͯൃද͞Εͨ࠷৽ͷiPhone • Face IDʢإೝূʣʹΑΔϩοΫղআΛࡌ
• ϕθϧϨεσΟεϓϨΠ
None
͓Θ͔Γ͍͚ͨͩͨͩΖ͏͔ʁ
None
͑…͜Ε…ԜΈͷ෦ɺ͘Ͷʁ
ͦ͜Ͱొ͢Δͷ͕...
Safe Area
Agenda • What’s iPhone X • What’s Safe Area •
How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
What’s Safe Area API Roadmap • Apple͕iOS11͔Βಋೖͨ֓͠೦
What’s Safe Area API Roadmap • Apple͕iOS11͔Βಋೖͨ֓͠೦ • φϏήʔγϣϯόʔεςʔλεόʔͳͲͷ֎ ଆͷUIʹඃΒͳ͍҆શͳྖҬΛऔಘͰ͖Δ
What’s Safe Area API Roadmap • Apple͕iOS11͔Βಋೖͨ֓͠೦ • φϏήʔγϣϯόʔεςʔλεόʔͳͲͷ֎ ଆͷUIʹඃΒͳ͍҆શͳྖҬΛऔಘͰ͖Δ
• iPhone XͷΑ͏ͳԜΈΛؚΜͩը໘ʹରԠ Ͱ͖Δ
What’s Safe Area API Roadmap • Apple͕iOS11͔Βಋೖͨ֓͠೦ • φϏήʔγϣϯόʔεςʔλεόʔͳͲͷ ֎ଆͷUIʹඃΒͳ͍҆શͳྖҬΛऔಘͰ͖Δ
• iPhone XͷΑ͏ͳԜΈΛؚΜͩը໘ʹରԠ Ͱ͖Δ • Xcode9+ɺiOS11+ SDK͕ඞཁ
What’s Safe Area API Roadmap • ηʔϑΤϦΞΛ༗ޮʹ͢Δ 1. StoryboardΛ։͘ 2.
ӈଆʹ͋ΔInterface BuilderͷΠϯεϖ ΫλΛ։͘ 3. ʮUse Safe Area Layout Guidesʯͷ νΣοΫΛONʹ͢Δ 4. ࣗಈͰηʔϑΤϦΞ(UILayoutGuide) ͕ Ճ͞ΕΔ
What’s Safe Area API Roadmap • ͍··ͰͷStoryboardͰηʔϑΤϦΞΛ༗ޮʹ͢Δͱɺ Top Layout GuideBottom
Layout Guideʹଓ͍ͯ͠ ͨϏϡʔࣗಈͰηʔϑΤϦΞͷTopɺBottomʹࠩ͠ସ ͑ͯ͘ΕΔ ηʔϑΤϦΞద༻લ ηʔϑΤϦΞద༻ޙ
Safe Area Preview API Roadmap J1IPOF9 J1IPOF 1PSUSBJU -BOETDBQF എܠ৭͖ͷϥϕϧΛSafeAreaʹදࣔ͢ΔΑ͏ʹ੍ΛՃ࣮ͯ͠ߦͨ͠߹
ͭ·Γ
ԜΈΛΔ͜ͱͰ
iPhone XରԠྃʂ
ͱ͍͖·ͤΜ
Agenda • What’s iPhone X • What’s Safe Area •
How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
How To “TRUE” Support iPhone X API Roadmap • ༨ന෦ͷഎܠʹؾΛ͚ͭΑ͏
API Roadmap Designing for iPhone X - Fall 2017 -
Videos - Apple DeveloperΑΓ ηʔϑΤϦΞͰΓऔΔ͚ͩͷσβΠϯඇਪ
্Լͷഎܠͱίϯςϯπ༹͕͚ࠐΉΑ͏ʹ iPhoneXͷγϛϡϨʔλͰ֬ೝͰ͖ΔApple͕ఏڙ͍ͯ͠ΔΞϓϦͷྫ News Files Reminder
How To “TRUE” Support iPhone X API Roadmap • ༨ന෦ͷഎܠʹؾΛ͚ͭΑ͏
• ඞཁͳՕॴͰclipsToBoundsʹͳ͍ͬͯΔ͔ؾ Λ͚ͭΑ͏
What’s clipsToBounds API Roadmap • Viewͷ্ʹՃ͞Εͯ͋ΔSubview͕ViewͷྖҬΛΈग़ͨ߹ʹɺ Έग़ͨ෦Λදࣔ͢Δ͔Ͳ͏͔ΛࢦఆͰ͖ΔUIViewΫϥεͷϓϩύςΟ view1.clipsToBounds = false
View1.clipsToBounds = true
ͳͥclipsToBoundsʁ
API Roadmap ※ը૾։ൃதͷͷͰ͢ɻରԠ൛Ͱى͖·ͤΜͷͰɺ҆͝৺͍ͩ͘͞ɻ clipsToBoundsΛ໌֬ʹࢦఆ͓͔ͯ͠ͳ͍ͱɺ ηʔϑΤϦΞ͕શવηʔϑʹͳΒͳ͘ͳΔྫ ແ೦ʹΈग़ͯ͠͠·ͬͨ…
How To “TRUE” Support iPhone X • ༨ന෦ͷഎܠʹؾΛ͚ͭΑ͏ • ඞཁͳՕॴͰclipsToBoundsʹͳ͍ͬͯΔ͔ؾ
Λ͚ͭΑ͏ • ίʔυϕʔεͷϏϡʔʹؾΛ͚ͭΑ͏
• ίʔυϕʔεͰViewControllerͷViewͳͲʹՃ͠ ͍ͯΔViewʹࣗಈͰηʔϑΤϦΞద༻͞Εͳ͍ • iOS11͔ΒUIViewͷϓϩύςΟʹsafeAreaInsets (UIEdgeInsets) ͕Ճ͞Ε͍ͯͯɺ͔ͦ͜Βηʔϑ ΤϦΞͷϚʔδϯΛऔಘͰ͖Δ • iOS11+͔͑͠ͳ͍ϓϩύςΟͷͨΊɺ
#available(iOS 11, *) Ͱͷذ͕ඞཁ How To Get Safe Area
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͔Βऔಘ͢Δ
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͔Βऔಘ͢Δ ຖճ͜ͷذΛॻ͘ͷ໘͡Όͳ͍ʁ
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Λ࡞
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
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Λ࡞ ͑ʁϓϩύςΟ໊มΘΔͷ͔ͬͯΓͮΒ͘ͳ͍ʁ
How To Get Safe Area ᶅ safeAreaInsetsΛsafeAreaInsetsͰऔಘ͢ΔͨΊͷUIViewͷExtensionΛ࡞ Extension༻ͷϓϩύςΟ (exͳͲ) Λܦ༝ͯ͠
Extensionఆٛͨ͠ͷ͔ΒΞΫηε͢Εɺ ͦͷ··ͷϓϩύςΟ໊ͰΞΫηεͰ͖Δʂ ࢀߟهࣄɿSwiftͷExtensionΛϞμϯͰΦγϟϨʹ࣮͢Δ - Qiita URLɿhttps://qiita.com/motokiee/items/e8f07c11b88d692b2cc5
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Λ࡞
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
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 ͜ΕͰϓϩύςΟ໊͕มΘͬͯ͠·͏ղܾʂ"
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Λ࡞
How To Detect Change Safe Area • iOS11͔ΒηʔϑΤϦΞͷมԽΛײ͢ΔͨΊʹUIViewʹ open func
safeAreaInsetsDidChange() ͕ɺUIViewController ʹ open func viewSafeAreaInsetsDidChange() ͕Ճ͞Εͯ ͍Δ • ͦΕͧΕɺΦʔόʔϥΠυ͢Δ͜ͱͰɺϝιουͰηʔϑ ΤϦΞͷมԽΛײͰ͖Δ • มԽݕͰ͖Δ͕ɺҾͰ safeAreaInsets ड͚औΕͳ͍ ͨΊɺϝιουͰࣗͰऔಘ͢Δඞཁ͕͋Δ
How To “TRUE” Support iPhone X API Roadmap • ༨ന෦ͷഎܠʹؾΛ͚ͭΑ͏
• ඞཁͳՕॴͰclipsToBoundsʹͳ͍ͬͯΔ͔ؾ Λ͚ͭΑ͏ • ίʔυϕʔεͷϏϡʔʹؾΛ͚ͭΑ͏ • ϑϧεΫϦʔϯදࣔͰͷΞεϖΫτൺकΖ͏
Designing for iPhone X - Fall 2017 - Videos -
Apple DeveloperΑΓ ίϯςϯπΛϑϧεΫϦʔϯදࣔ͢ΔࡍʹΞεϖΫτൺΛอͪ·͠ΐ͏ iPhone8 (16:9) Λج४ʹ͢Δ߹ ࠨӈΛΓऔͬͯදࣔ ্ԼΛԜ·ͤͯදࣔ or
Designing for iPhone X - Fall 2017 - Videos -
Apple DeveloperΑΓ ίϯςϯπΛϑϧεΫϦʔϯදࣔ͢ΔࡍʹΞεϖΫτൺΛอͪ·͠ΐ͏ iPhoneX (18:9) Λج४ʹ͢Δ߹ ্ԼΛΓऔͬͯදࣔ ࠨӈΛԜ·ͤͯදࣔ or
جຊతʹɺiPhone8ج४ͰӈଆͷύλʔϯΛ࠾༻͢Δ͜ͱ͕ଟ͍ iPhone8 (16:9) Λج४ʹ͢Δ߹ ࠨӈΛΓऔͬͯදࣔ ্ԼΛԜ·ͤͯදࣔ or
͔͠͠ɺ͜͜Ͱ͕
Safe Area Preview API Roadmap J1IPOF9 J1IPOF 1PSUSBJU -BOETDBQF എܠ৭͖ͷϥϕϧΛSafeAreaʹදࣔ͢ΔΑ͏ʹ੍ΛՃ࣮ͯ͠ߦͨ͠߹
Safe Area Preview API Roadmap J1IPOF9 J1IPOF 1PSUSBJU -BOETDBQF എܠ৭͖ͷϥϕϧΛSafeAreaʹදࣔ͢ΔΑ͏ʹ੍ΛՃ࣮ͯ͠ߦͨ͠߹
Safe Area Preview API Roadmap J1IPOF9 J1IPOF 1PSUSBJU -BOETDBQF എܠ৭͖ͷϥϕϧΛSafeAreaʹදࣔ͢ΔΑ͏ʹ੍ΛՃ࣮ͯ͠ߦͨ͠߹
ఈ͕ΕͪΌͬͯΔΜͰ͚͢Ͳ…
How To Support Fullscreen API Roadmap • Bottomͷ੍Λ࣍ͷΑ͏ʹมߋ͠·͠ΐ͏ Portraitͷͱ͖
How To Support Fullscreen API Roadmap • Bottomͷ੍Λ࣍ͷΑ͏ʹมߋ͠·͠ΐ͏ Portraitͷͱ͖
How To Support Fullscreen API Roadmap • Bottomͷ੍Λ࣍ͷΑ͏ʹมߋ͠·͠ΐ͏ Landscapeͷͱ͖
How To Support Fullscreen API Roadmap • Bottomͷ੍Λ࣍ͷΑ͏ʹมߋ͠·͠ΐ͏ Landscapeͷͱ͖
How To Support Fullscreen ͜ΕͰແࣄʹϑϧεΫϦʔϯදࣔྃʂ
How To Support Fullscreen ͜ΕͰແࣄʹϑϧεΫϦʔϯදࣔྃʂ
How To Support Fullscreen Home Indicator ͕अຐͳΜͰ͚͢Ͳ…
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
How To Support Fullscreen Preview
How To Support Fullscreen ͜ΕͰຊʹϑϧεΫϦʔϯදࣔྃʂ"
Agenda • What’s iPhone X • What’s Safe Area •
How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
࣌20189݄12
New iPhoneX
࣌201810݄30
New iPad Pro
New iPad Pro Good bye, home buttonʂ
Support iPhone X in 2018 • isIphoneX͏͑ͳ͍
iOS Devices With Safe Area 201711݄࣌ͰηʔϑΤϦΞΛ࣋ͬͨiOSiPhone X ͚ͩͰ͕ͨ͠… 201811݄ݱࡏɺηʔϑΤϦΞΛ࣋ͬͨiOSҎԼͷ5छ ྨʹͳΓ·ͨ͠
‣ iPhone X ‣ iPhone XS ‣ iPhone XS Max ‣ iPhone XR ‣ iPad Pro (mid2018)
iOS Devices With Safe Area 201711݄࣌ͰηʔϑΤϦΞΛ࣋ͬͨiOSiPhone X ͚ͩͰ͕ͨ͠… 201811݄ݱࡏɺηʔϑΤϦΞΛ࣋ͬͨ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)
Good Bye isIphoneX ͍··Ͱ Ekhoo/Device ͳͲͰόʔδϣϯը໘αΠζΛͬͯ isIphoneX: Bool ͳΔఆΛߦ͏͜ͱ͕Ͱ͖͕ͨɺ͜Ε·Ͱ Ekhoo/Device
https://github.com/Ekhoo/Device
Support iPhone X in 2018 • isIphoneX͏͑ͳ͍ • iPadͰ͋ͬͯηʔϑΤϦΞΛߟྀ͢Δඞཁ ͕͋Δ
Support New iPad Pro ͍··ͰiPadͰߟྀ͠ͳͯ͘Α͔ͬͨηʔϑΤϦΞ ͕ͩɺࠓճͷ৽ܕiPad Pro͔Βߟྀ͕ඞཁ
Support New iPad Pro Xcode 10.1Ҏ߱ͰϏϧυ͠ͳ͍ͱɺ৽ܕiPad Proͷ ηʔϑΤϦΞ֬ೝͰ͖ͳ͍
Support iPhone X in 2018 • isIphoneX͏͑ͳ͍ • iPadͰ͋ͬͯηʔϑΤϦΞΛߟྀ͢Δඞཁ ͕͋Δ
• ͜Ε͔Βͷ͜ͱΛߟ͑Α͏
Think About The Future • ࠓͷ৽ܕiOSͷൃදΛݟΔݶΓɺࠓޙൃද͞ΕΔ ͯ͢ηʔϑΤϦΞΛ͍࣋ͬͯΔՄೳੑ͕͋Δ • ηʔϑΤϦΞΛߟྀͨ͠࡞Γʹ͓͚ͯ͠ɺͲΜͳ ͕དྷͯා͘ͳ͍ͷͰɺීஈ͔ΒηʔϑΤϦΞΛҙࣝ͠
ͨΞϓϦ։ൃΛ৺͕͚Δ
Agenda • What’s iPhone X • What’s Safe Area •
How To “TRUE” Support iPhone X • Support iPhone X in 2018 • Summary
Summary • iPhone XʹରԠ͢ΔʹηʔϑΤϦΞͷ֓೦͕ॏཁʹͳ Δ • ηʔϑΤϦΞͰ݁͢Δ͚ͩͰiPhoneXରԠʹͳ Βͳ͍ • ԜΈΛΔ͚ͩͰͳ͘ɺԜΈΛͬͯɺԜΈΛ׆͔ͨ͠
࣮͕ඞཁ • ීஈ͔ΒηʔϑΤϦΞΛҙࣝͨ͠։ൃΛ৺͕͚Δ
Summary ʲਵ࣌ߋ৽ʳiPhoneXશରԠϚχϡΞϧ - Qiita https://qiita.com/cokaholic/items/6a8ee3852c8ed28ea2aa
Thank youʂ