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
1.1k
2
Share
iOS 16からの ロック画面Widget争奪戦に備える
YUMEMI.swift #15 ~WWDC復習会~
Ryo Tsuzukihashi
June 26, 2022
More Decks by Ryo Tsuzukihashi
See All by Ryo Tsuzukihashi
GeoJSON×SwiftUI:地図を“美しく”描くための技術
tsuzuki817
0
23
AlarmKitで実現する 新時代のシステム通知
tsuzuki817
0
7.7k
SwiftUI Transaction を徹底活用!ZOZOTOWN UI開発での活用事例
tsuzuki817
1
3.3k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
3
1.2k
二次元コードを読み取りやすくするために 画面を強制的に明るくするのは もうやめにしませんか?👀
tsuzuki817
0
490
動画だけじゃない!iOS 15のピクチャ・イン・ピクチャを使って好きなUIを表示させよう!
tsuzuki817
3
6k
Complications and widgets: Reloadedの要約
tsuzuki817
1
1.5k
Speech framework tips
tsuzuki817
1
2.9k
Build complication in SwiftUI の要約
tsuzuki817
0
770
Other Decks in Programming
See All in Programming
Firefoxにコントリビューションして得られた学び
ken7253
2
170
誰も頼んでない機能を出荷した話
zekutax
0
120
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
910
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
290
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
200
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
300
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
330
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
170
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
110
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
200
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
1.1k
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
0
110
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Speed Design
sergeychernyshev
33
1.7k
It's Worth the Effort
3n
188
29k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
810
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
140
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
The SEO identity crisis: Don't let AI make you average
varn
0
470
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
380
For a Future-Friendly Web
brad_frost
183
10k
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?