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
wwdc19
Search
Shigure Shimotori
June 25, 2019
Programming
2
400
wwdc19
https://line.connpass.com/event/134346/
#LINE_DM
Shigure Shimotori
June 25, 2019
Tweet
Share
More Decks by Shigure Shimotori
See All by Shigure Shimotori
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
290
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
260
おっと、お飲みごろの時間です!
s_shimotori
1
130
Synchronizationを支える技術
s_shimotori
1
270
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
1.1k
英語
s_shimotori
1
920
Parallel Socket Communication in Swift
s_shimotori
1
870
UIColor Anatomy
s_shimotori
1
2.7k
UIColor Cluster
s_shimotori
1
800
Other Decks in Programming
See All in Programming
Tangible Code
chobishiba
3
680
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
14
13k
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
20
12k
CSC509 Lecture 13
javiergs
PRO
0
260
Chart.jsで長い項目を表示するときのハマりどころ
yumechi
0
140
Module Harmony
petamoriken
2
480
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
680
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
2
2.2k
AI時代もSEOを頑張っている話
shirahama_x
0
100
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
440
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
1.9k
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
5
5.5k
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Documentation Writing (for coders)
carmenintech
76
5.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Building Adaptive Systems
keathley
44
2.8k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
RailsConf 2023
tenderlove
30
1.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Practical Orchestrator
shlominoach
190
11k
Scaling GitHub
holman
463
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Transcript
͡ΊͯͷWWDC WWDC19 Recap at LINE
͡ΊͯͷWWDC @S_Shimotori_pub ▸ LINE.appͷUI·ΘΓ ▸ iOSDCωοτϫʔΫελοϑ ▸ DroidKaigiӡӦελοϑ ▸ WWDCॳࢀՃ
͡ΊͯͷWWDC ࠓ͢͜ͱ ▸ ࢀՃऀઍਓͱ ▸ ϥϘͰฉ͍͖ͯͨ͜ͱ ▸ ΞΫηγϏϦςΟͲ͏ͨ͠Β͍͍ͷ ▸ λΠจࣈ;ͨͨͼ
▸ μʔΫϞʔυରԠɺ։ນ
ࢀՃऀઍਓͱ
ࢀՃऀઍਓͱ WWDCʹॳࢀՃͯ͠Θ͔ͬͨ͜ͱ ▸ ᷚ௨Γͷςϯγϣϯͷߴ͞ ▸ ظઓʹ༏͍͠ՌͱOdwalla ▸ /16ͰIPΞυϨεେ൫ৼΔ͍ ▸ ަ௨खஈ͕ͱͯͭΒ͍
▸ ಥવͷ৽ཁૉൃදͰ্खʹϥϘΛ׆༻Ͱ͖ͳ͍ ▸ ϚΠϊϦςΟͷਓΛݟ͔͚Δ͜ͱ͕Ͱ͖Δ
ࢀՃऀઍਓͱ WWDCʹॳࢀՃͯ͠Θ͔ͬͨ͜ͱ ▸ ᷚ௨Γͷςϯγϣϯͷߴ͞ ▸ ظઓʹ༏͍͠ՌͱOdwalla ▸ /16ͰIPΞυϨεେ൫ৼΔ͍ ▸ ަ௨खஈ͕ͱͯͭΒ͍
▸ ಥવͷ৽ཁૉൃදͰ্खʹϥϘΛ׆༻Ͱ͖ͳ͍ ▸ ϚΠϊϦςΟͷਓΛݟ͔͚Δ͜ͱ͕Ͱ͖Δ
ࢀՃऀઍਓͱ ϚΠϊϦςΟͷਓΛݟ͔͚Δ͜ͱ͕Ͱ͖Δ ▸ ൺͰߟ͑Δͱଟ͍ͱݴ͑ͳ͍ ▸ ࢀՃऀ͕ઍਓ͍ΔͷͰਓࣗମଟ͘ײ͡ΒΕΔ ▸ Ҋ൘࠵͠Ͱଘࡏʹؾ͔ͮ͞ΕΔ
None
None
ϥϘͰ ฉ͍͖ͯͨ͜ͱ
ϥϘͰฉ͍͖ͯͨ͜ͱ Ͳ͜ͷϥϘʁ ▸ ΞΫηγϏϦςΟͲ͏ͨ͠Β͍͍ͷ ˠAccessibility Design Lab ▸ λΠจࣈ;ͨͨͼ ˠText
Lab ▸ μʔΫϞʔυରԠɺ։ນ ˠUIKit Lab
ΞΫηγϏϦςΟ Ͳ͏ͨ͠Β͍͍ͷ
None
ΞΫηγϏϦςΟͲ͏ͨ͠Β͍͍ͷ ରԠ࣮ʹࠔΔྫ ▸ ʮ14:30ʯͷຊޠಡΈ্͕͓͔͍͛͠ ▸ ಠࣗʹʮ͡Ύ͏Α͡͞Μͬ͡Μʯͱಡ·͍͍ͤͯʁ ▸ ߴޱ࠲൪߸ͳͲͷݸਓใ ▸ ಡΈ্͍͍͛ͤͯ͞ͷʁ
ΞΫηγϏϦςΟͲ͏ͨ͠Β͍͍ͷ ΞΫηγϏϦςΟରԠͰࠔͬͨΒ ▸ Appleͷ࡞ͬͨΞϓϦͷ࣮ʹ฿͏ ▸ উखʹ͞ͳ͍Ͱόάใࠂ͚ͩ͢Δͱ͔ ▸ Apple PayͷΫϨΧಡΈ্͛Λਅࣅ͢Δͱ͔
λΠจࣈ ;ͨͨͼ
▸ λΠจࣈॎʹ͍ͷͰ༉அ͢ΔͱΈग़ͪΌ͏ʂ λΠจࣈ;ͨͨͼ λΠจࣈͱ ຊ Japan ประเทศญี่ปุ่น
λΠจࣈ;ͨͨͼ λΠจࣈͷߴ͞ΛΓ͍ͨʂ ▸ UIKitͷྗͰจࣈͷ࣮αΠζΛऔಘ͢Δ͜ͱ͕Ͱ͖ͳ͍
λΠจࣈ;ͨͨͼ จࣈͷେ͖͞ʢਅʣΛௐΔ ▸ Core TextΛ͑ਖ਼֬ͳେ͖͕͞Θ͔Δ let word = "ประเทศญี่ปุ่น" let
attributedString = NSAttributedString(string: word) let line = CTLineCreateWithAttributedString(attributedString) let rect = CTLineGetBoundsWithOptions(line, .useGlyphPathBounds)
λΠจࣈ;ͨͨͼ λΠจࣈ;ͨͨͼ - vs Swift UI Text ▸ clip͞Εͨɺͩͱ……ʁʁ
μʔΫϞʔυରԠɺ։ນ
μʔΫϞʔυରԠɺ։ນ ҰൠతͳʁμʔΫϞʔυରԠ ▸ Assetʹొ͢ΕࣗಈͰ͍͚ͯ͘ΕΔΑ ▸ System colorSemantic colorͰҰൃରԠͩΑ
None
μʔΫϞʔυରԠɺ։ນ LINE.appͷμʔΫϞʔυରԠ ▸ Assetʹొ͢ΕࣗಈͰ͍͚ͯ͘ΕΔΑ →ొ͠·ͤΜͰ͖·ͤΜ ▸ System colorSemantic colorͰҰൃରԠͩΑ →͍·ͤΜͰ͖·ͤΜ
μʔΫϞʔυରԠɺ։ນ AssetΛΘͣʹdynamicͳͷΛͭ͘Δ ▸ Dynamic color ▸ UIColor.init(dynamicProvider:) ▸ Dynamic image
▸ ͋Εʁઆ໌͞Ε͚ͯͨͬʁ
μʔΫϞʔυରԠɺ։ນ dynamic imageͷͭ͘Γ͔ͨ ▸ UIImageAssetΛ࡞Ε͍͚Δʂ let imageAsset = UIImageAsset() imageAsset.register(lightImage,
with: lightTraitCollection) imageAsset.register(darkImage, with: darkTraitCollection) let image = imageAsset.image(with: UITraitCollection.current)
·ͱΊʁ
·ͱΊʂ WWDC͜Μͳͱ͜Ζ ▸ ੈքதͷ։ൃऀͱձ͑Δ ▸ ࣗͷ࣮ྗ͕ϥϘͷ׆༻۩߹ʹग़ͪΌ͏ ▸ ظ͕͍ؒͷͰؤுΓ·͠ΐ͏