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
iOS 16からのロック画面Widget争奪戦に備える
Search
Ryo Tsuzukihashi
June 26, 2022
Programming
2
1.1k
iOS 16からの ロック画面Widget争奪戦に備える
YUMEMI.swift #15 ~WWDC復習会~
Ryo Tsuzukihashi
June 26, 2022
Tweet
Share
More Decks by Ryo Tsuzukihashi
See All by Ryo Tsuzukihashi
AlarmKitで実現する 新時代のシステム通知
tsuzuki817
0
2.7k
SwiftUI Transaction を徹底活用!ZOZOTOWN UI開発での活用事例
tsuzuki817
1
2.6k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
3
1.1k
二次元コードを読み取りやすくするために 画面を強制的に明るくするのは もうやめにしませんか?👀
tsuzuki817
0
450
動画だけじゃない!iOS 15のピクチャ・イン・ピクチャを使って好きなUIを表示させよう!
tsuzuki817
3
5.4k
Complications and widgets: Reloadedの要約
tsuzuki817
1
1.3k
Speech framework tips
tsuzuki817
1
2.8k
Build complication in SwiftUI の要約
tsuzuki817
0
740
SwiftUI で Neumorphism!!!
tsuzuki817
2
2k
Other Decks in Programming
See All in Programming
自動テストを活かすためのテスト分析・テスト設計の進め方/JaSST25 Shikoku
goyoki
3
660
The Missing Link in Angular's Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
130
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
150
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
220
CSC509 Lecture 11
javiergs
PRO
0
310
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
5.8k
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
240
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
980
2025 컴포즈 마법사
jisungbin
0
120
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1k
Nitro v3
kazupon
2
300
OSS開発者の憂鬱
yusukebe
12
4.1k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
How STYLIGHT went responsive
nonsquared
100
5.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Side Projects
sachag
455
43k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
KATA
mclloyd
PRO
32
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
GitHub's CSS Performance
jonrohan
1032
470k
Transcript
iOS 16からの ϩοΫը໘Widget ૪ୣઓにඋえる YUMEMI.swift #15 ~WWDC復習会~
Self Introduction ᠃ڮ ྋ !UTV[VLJ Ϡϑʔגࣜձࣾ 1BZ1BZϑϦϚ J04ΞϓϦ։ൃ झຯݸਓ։ൃ
My Apps
My Apps 8JEHFUରԠ
Contents 01 LockScreen ৽͍͠ϩοΫը໘ ͷػೳ 02 Color and Rendering ৭ʹ͍ͭͯ
03 Privacy Ϣʔβʔͷϓϥό γʔΛकΔ 04 Addapted ϓϩδΣΫτʹ Ճ͢Δ
New Lock Screen
None
None
None
New Widget
Complicatioins? l ΞϓϦʹؔ͢ΔλΠϜϦʔͰؔ ࿈ੑͷߴ͍ใΛΥονϑΣ Πεʹදࣔͤ͞Δ l ෳࡶͳใΛͻͱͰཧղͰ͖ Δͷ l XBUDI04͔Β4XJGU6*Ͱ࡞Ε
Δ
accessoryCircular
accessoryRectangular
accessoryInline
accessoryCorner
Color and Rendering watch face ͱ LockScreenͷ ϨϯμϦϯάͷҧ͍ΛΔ
Color and Rendering
Color and Rendering
Color and Rendering ロック画面にはダークモードの設定がない ため、考慮しなくて良い
fullColor l ࢦఆ͞Εͨ৭௨Γʹදࣔ͞ΕΔ l ΧϥϑϧͳݟͨʹͳΔ l XBUDI04ͷΈ
accented l ࣗಈతʹ৭͚͞ΕΔ l ίϯςϯπͭͷάϧʔϓʹ͚ ΒΕϑϥοτʹண৭͞ΕΔ l ݩͷಁ໌ͷΈΛอ࣋͢Δ l XBUDI04ͷΈ
accented l XJEHFU"DFOUBCMF l αϒϏϡʔ·ͰΞΫηϯτάϧʔϓ ʹՃ
accented ΞΫηϯτΧϥʔʹΑͬͯେ͖͘ݟͨҟͳΔ
vibrant ϩοΫը໘ͷϨϯμϦϯάϞʔυ
vibrant ίϯςϯπҰ৭͞ΕΔ
vibrant ϩοΫը໘ͷഎܠʹ߹Θͤͯࣗಈతʹ৭͚͞ΕΔ AndroidのMaterial Youと同等
New SwiftUI WidgetΛΑΓྑ͘͢ΔͨΊͷ SwiftUIͷ৽ػೳ
AccessoryWidget Background എܠ͕ඞཁͳΟδΣοτʹҰ؏ͨ͠എܠΛ༩͑Δ͜ͱ͕Ͱ͖Δ
AccessoryWidgetBackground
ProgressView (interval:coundDown:) ҰͷΤϯτϦʔͰ8JEHFUΛΞχϝʔγϣϯͤ͞Δ͜ͱ͕Ͱ͖Δ
ViewThatFits ෳͷ7JFXΛࢦఆ͢Δͱར༻Մೳͳεϖʔεʹऩ·Δ࠷ॳͷίϯς ϯπϏϡʔΛදࣔ͢Δ
Privacy ϩοΫը໘ʹஔ͍ͨ8JEHFUͷ ηΩϡϦςΟΛߴΊΔ
iOS σϑΥϧτͰ ը໘ϩοΫ࣌Ͱ ίϯςϯπදࣔ͞ΕΔ ॏཁͳใԽͤ͞Δ
.privacySensitive() iOS15~ https://developer.apple.com/documentation/swiftui/view/privacysensitive(_:)
watchOS ίϯςϯπًʹͳΓ ߋ৽ස͘ͳΔ͕ ίϯςϯπදࣔ͞Εଓ͚ Δ ண͍ͯ͠ΔͱϩοΫঢ়ଶʹͳΒͣඇΞΫςΟϒ࣌ ʹৗ࣌දࣔϞʔυʹͳΔ
isLuminanceReduced
isLuminanceReduced
৽͍͠Widgetͷ Ճํ๏ طଘͷϓϩδΣΫτʹ LockScreen༻ͷWidgetΛ Ճ͢Δ
طଘͷXBUDI04ΞϓϦʹద༻ͤ͞Δ 5BSHFUͷ8JEHFU&YUFOUJPOΛෳ
طଘͷXBUDI04ΞϓϦʹద༻ͤ͞Δ ໊લΛΑ͠ͳʹม͑Δ
طଘͷXBUDI04ΞϓϦʹద༻ͤ͞Δ #VOEMF*EFOUJGJFSʹ XBUDILJUBQQΛՃ
طଘͷXBUDI04ΞϓϦʹద༻ͤ͞Δ #VJME4FUUJOHTͰ#BTF4%,Λ XBUDI04ʹมߋ
طଘͷXBUDI04ΞϓϦʹద༻ͤ͞Δ 8BUDI"QQͷ(FOFSBMʹҠΓ ઌ΄ͲՃͨ͠8JEHFU&YUFOTJPO ΛՃ͢Δ
طଘͷXBUDI04ΞϓϦʹద༻ͤ͞Δ ४උྃʂ 8JEHFUʹ৽͍͠ϑΝϛϦʔΛαϙʔτͤ͞Δ
supportedFamiliesʹՃ
XBUDI04Λར༻͍ͯ͠Δ߹
XBUDI04Λར༻͍ͯ͠Δ߹
XBUDI04Λར༻͍ͯ͠Δ߹ XBUDI04ͷ*OUFOUࣄલʹઃఆ͞ ΕͨϦετΛఏڙ͢Δඞཁ͕͋Δ
1SFWJFXͷදࣔ QSFWJFX$POUFYU 8JEHFU1SFWJFX$POUFYU GBNJMZYYYY
$BOWBT%FWJDF4FUUJOHT 9DPEF͔Βͷػೳ ΑΓ1SFWJFX͕͍͘͢
Widget Family ઃఆͨ͠8JEHFU'BNJMZͷ1SFWJFX Λ֬ೝ͢Δ͜ͱ͕Ͱ͖Δ
Presentation ௨ৗ࣌ ϓϨʔεϗϧμʔ ϩοΫத
variants
ҙࣄ߲
ը૾ͷऔΓѻ͍ʹҙ
ϑΥϯτ ࣗಈద༻ͤ͞ΔͨΊʹσϑΥϧ τͷϑΥϯτύϥϝʔλͱϑΥϯ τελΠϧΛ͏
ϢʔβʔʹΑΔ8JEHFUͷฤू ؒҧ͍ͬͯͨΒڭ͍͑ͯͩ͘͞🙇 l -PDL4DSFFOͷ8JEHFU*OUFOUͷฤू͕ Ͱ͖ͳ͍ʢ؍ଌൣғ l ࣄલʹܾΊΒΕͨύϥϝʔλΛ͏
·ͱΊ ü ৽͍͠ϩοΫը໘ͷొʹΑΓɺϢʔβʔϢʔε έʔεʹ߹ΘͤͯϩοΫը໘Λม͑Δͱ͍͏͜ͱ͕ ༰қʹͰ͖ΔΑ͏ʹͳͬͨ ü ։ൃऀϢʔβʔͷࠣࡉͳχʔζʹԠ͑Δ͜ͱ͕Ͱ͖ ΔΑ͏ʹɺ͞·͟·ͳ8JEHFUΛ༻ҙ͢Δ͜ͱͰࠓޙ ͷϩοΫը໘૪ୣઓʹඋ͑·͠ΐ͏ LiveActivitiesのAPI公開が待ち遠しい….
͓Βͤ iOS/Android ΞϓϦΤϯδχΞ࠾༻͍ͯ͠·͢ʂ
Resources • Keynote ◦ https://developer.apple.com/wwdc22/101 • Complications and widgets: Reloaded
◦ https://developer.apple.com/videos/play/wwdc2022-10050 Videos: • "QQMFɺJ04Ͱಋೖ͞ΕΔ·ͬͨ͘৽͍͠ϩοΫը໘ͷମݧͱɺڞ ༗ͱίϛϡχέʔγϣϯͷͨΊͷ৽͍͠ํ๏Λൃද ◦ IUUQTXXXBQQMFDPNKQOFXTSPPNBQQMFVOWFJMT OFXXBZTUPTIBSFBOEDPNNVOJDBUFJOJPT • XBUDI04ϓϨϏϡʔ ◦ IUUQTXXXBQQMFDPNKQXBUDIPTXBUDIPTQSFWJFX Articles:
Thanks! Do you have any questions?