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
430
2
Share
wwdc19
https://line.connpass.com/event/134346/
#LINE_DM
Shigure Shimotori
June 25, 2019
More Decks by Shigure Shimotori
See All by Shigure Shimotori
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
460
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
360
おっと、お飲みごろの時間です!
s_shimotori
1
160
Synchronizationを支える技術
s_shimotori
1
300
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
1.3k
英語
s_shimotori
1
1.1k
Parallel Socket Communication in Swift
s_shimotori
1
970
UIColor Anatomy
s_shimotori
1
3k
UIColor Cluster
s_shimotori
1
840
Other Decks in Programming
See All in Programming
実用!Hono RPC2026
yodaka
2
310
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
230
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
130
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
670
継続的な負荷検証を目指して
pyama86
3
1k
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
110
【26新卒研修資料】TDD実装演習
dip_tech
PRO
0
180
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
190
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.7k
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
19k
GitHubCopilotCLIをはじめよう.pdf
htkym
0
330
GoogleCloudとterraform完全に理解した
terisuke
1
190
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
230
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
GitHub's CSS Performance
jonrohan
1032
470k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
370
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Accessibility Awareness
sabderemane
1
110
Thoughts on Productivity
jonyablonski
76
5.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
300
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
240
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͜Μͳͱ͜Ζ ▸ ੈքதͷ։ൃऀͱձ͑Δ ▸ ࣗͷ࣮ྗ͕ϥϘͷ׆༻۩߹ʹग़ͪΌ͏ ▸ ظ͕͍ؒͷͰؤுΓ·͠ΐ͏