์๋ ๊ธ์์ iOS 17๋ถํฐ containerBackground(for:) modifier ๋ฅผ ํตํด์ container background ์ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค๊ณ ํ์ด์. iOS) iOS 17 Widget error - Please adopt containerBackground API ํด๊ฒฐํ๊ธฐ(remove iOS 17 widet extra padding) ๐ ๋ด์ฉ iOS 17 containerBackground API error ์ extra padding ์ด ์๊ธฐ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋ณด๊ฒ ์ต๋๋ค. iOS 17 ์ ์ฉ ํ์ ์ ๊ธํ๋ฉด ์์ ฏ์ด ์ ๋๋ก ๋ณด์ด์ง ์๋ ์ด์๊ฐ ๋ฐ์ํ์ต๋๋ค. Xcode ์์ ํ ๋ฒ ์ดํด๋ณด๊ฒ ์ต gyuios.tistory.com ๊ทธ๋ ๋ค๋ฉด ์๋์ ๊ฐ์ด ๋ฑํ background ๊ฐ ํ์ํ์ง ์๋ ..
๋ด์ฉ ์์ ฏ์์ Intent ๋ฅผ ์ฌ์ฉํ๊ธฐ์ํ IntentHandler ์์ defaultparameter type ๋ฉ์๋๋ก ์์ ฏ์ ์ถ๊ฐํ ๋ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๋ ๋ฉ์๋๋ฅผ ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ๐จ ๋น๋๊ธฐ ์๋ฒ ํต์ ์์ ์ดํ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ํจ์๋ฅผ ๋ฆฌํดํ๋ ๋ฉ์๋๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ๋น๋๊ธฐ์ ์ธ ์๋ฒํต์ ์์ ์ ์ข ๋ฃ ์์ ์ดํ์ ์ฒ๋ฆฌํด์ผ ํ์ต๋๋ค. // ์์ ฏ ์ถ๊ฐํ ๋ ํธ์ถ. ๊ธฐ๋ณธ๊ฐ ์ค์ . // โ ์๋ฒํต์ ํ์ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ฆฌํด. // ์๋ฒํต์ ํ์ ๊ฐ์ด ์๋ค๋ฉด ๊ธฐ๋ณธ๊ฐ์ผ๋ก nil ๋ฆฌํด. func defaultMyCard(for intent: MyCardIntent) -> MyCard? { var myCard: MyCard? // โ DispatchGroup ์ฌ์ฉ. let group = Dispa..
๋ด์ฉ Widget ์ด ๋ณด์ฌ์ง๋ ์ธ ๊ฐ์ง ์์ ์ด ์์ต๋๋ค. placeholder, snapshot, timeline ๋ฅผ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค. ์ธ์ ๋ณด์ฌ์ง๋์ง UI ๋ฅผ ํตํด ํ์ธํด๋ณด์. TimelineProvider ํ๋กํ ์ฝ์ ๋ค์ ์ธ ๊ฐ์ง ๋ฉ์๋๋ฅผ ์๊ตฌํฉ๋๋ค. struct Provider: TimelineProvider { typealias Entry = SampleEntry func placeholder(in context: Context) -> Entry { // Implementation here... } func getSnapshot(in context: Context, completion: @escaping (Entry) -> ()) { // Implementation here... } func ge..
๋ด์ฉ Lock Screen widget ์ UI ๋ ๋ชจ๋ ๋ถํฌ๋ช ํ๊ฒ๋ง ํํ๋์ด์ผ ํ ๊น? Lock Screen ์ widget ์ ๋ง๋ค์ด๋ณด์. Lock Screen ์ ์์ ฏ์ iOS 16 ๋ถํฐ ์๋กญ๊ฒ ๋ฑ์ฅํ ๊ธฐ์ ์ ๋๋ค. ์์ง ์ง์ํ๋ ์ฑ์ ๋ง์ง ์์ง๋ง ์์๋ก ์นด์นด์คํก๊ณผ ์นด์นด์คํ์ด ์์ ฏ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋จ์ํ ๋ถํฌ๋ช ํ ๋ฏํ UI ๊ฐ ์๋๋ฏํ๋ฐ ์ด๋ค ์๋ฆฌ๋ก ์์ฐ์ค๋ฝ๊ฒ ๋ฐฐ๊ฒฝ๊ณผ ์ด์ธ๋ฌ์ง๋๊ฑธ๊น์? ์ด๋ ์ ํฉํ ์ด๋ฏธ์ง ์์ ์ด ํ์ํ๊ฑธ๊น์? ํจ์๋ก์จ ๊ตฌํํด์ค์ผํ๋ ๊ฑธ๊น์? ์๋๋ฉด, ์ ๊ธ ํ๋ฉด์ ๋ง๋ ๋ ๋๋ง ๋ชจ๋๊ฐ ์ ์ฉ๋๋ ๊ฑธ๊น์? WidgetKit ์์ Lock Screen ์ด๋ผ๋ ํ๊ฒฝ์ ์ค์ ํ๊ณ , ๋์ํด์ค์ผํ๋ ๊ฑธ๊น์? ์ฌ๋ฌ๊ฐ์ง ์๋ฌธ์ ์ด ์์ต๋๋ค! ์ด์ธ์๋ Lock Screen Widget ์ ๋ํด์ ์ด์ ์์๋ณด๊ฒ ..
โ 1. ํ๋ก์ ํธ ์ธํ Configurable Widget ์์ CoreData ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ํ๋ก์ ํธ ์ธํ ์งํ. App Group ์ ์ฌ์ฉํ์ฌ containing app ๊ณผ app extension ์ ๋ฐ์ดํฐ ๊ณต์ . Widget ๋ง๋ค๊ธฐ Configurable Widget ๋ง๋ค๊ธฐ โ ๋ค์ด๊ฐ๊ธฐ ์ - ์ CoreData ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ๋ก ํ๋์? ์ด์ ์ UserDefaults ๋ฅผ ์ฌ์ฉํ์ฌ widget ๊ณผ containing app ์ ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ํด๋ณด์๊ธฐ ๋๋ฌธ์ ์ด๋ฒ์๋ CoreData ๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ๊ตฌํํด๋ณด๊ณ ์ถ์์ต๋๋ค. iOS) Kakao QRcode Widget ํด๋ก ์ฝ๋ฉ - Widget ๋ฐ์ดํฐ ๊ณต์ ๋ฐ ๋ทฐ ๊ตฌํ(SwiftUI) ์ด ๊ธ์ ๋ช ํจ ํํ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ..
๐ ์์ ฏ์ ํตํด ์ฑ์ ํน์ ๋ทฐ๋ก ์ด๋ QR Code ์์ ฏ์ ์ ํํ๋ฉด ์๋์ ๊ฐ์ด ํ๋ฉด์ ํ์ด ์ ์ฉ๋ QR Code ์ธ์ ๋ทฐ๋ก ์ด๋ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ widgetURL(_:) ์์ ฏ์ ํด๋ฆญํ์ ๋ containing app ์์ ์ด๋ฆด URL ์ ์ค์ ํฉ๋๋ค. Overview widgetURL modifier ๋ view hierarchy ์์ ํ๋๋ง ์ง์ํฉ๋๋ค. ์ฌ๋ฌ ๋ทฐ์ widgetURL ์ด ์๋ ๊ฒฝ์ฐ ๋์์ด ์ ์๋์ง ์์ต๋๋ค. struct QRCodeEnytryView : View { var entry: QRCodeProvider.Entry var body: some View { Image("widgetQr") .resizable() .scaledToFill() // โ .widgetURL(URL(str..
๋ด์ฉ Configurable Widget ์ ๋ฌด์์ ์ง์ํ๋์ง ์์๋ด ์๋ค. ์ ์ /๋์ ์ ํ ๋ชฉ๋ก์ ๋ง๋ค๊ธฐ ์ํด์ Custom Intent Definition ์ ์์ฑํด๋ด ์๋ค. ๋์ ์ ํ ๋ชฉ๋ก์ ์ค์ ํ๊ณ , ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๊ธฐ ์ํด์ Intents Extension ์ ์ถ๊ฐํ์ฌ Intent ๋ฅผ ํธ๋ค๋ง ํด๋ด ์๋ค. configurable properties ๋ฅผ ์ง์ํ๊ธฐ ์ํด IntentTimelineProvider ๋ฅผ ์ฌ์ฉํ์ฌ IntentConfiguration ์ ๊ตฌ์ฑํ๊ฒ ์ต๋๋ค. ๐จ ๋ค์ด๊ฐ๊ธฐ ์ - Configurable Widget ์ ๋ฌด์์ธ๊ฐ์? ๋ ๋ฒ์งธ๋ ์ฒซ ๋ฒ์งธ์ ๋ฌ๋ฆฌ Configurable properties ๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํ Configurable widget ์ ๋๋ค. Configurable Wi..
- SwiftUI
- projectsetting
- APNS
- Firebase
- 2022 KAKAO TECH INTERNSHIP
- Algorithm
- UserDefaults
- YPImagePicker
- RxCocoa
- configurable widget
- WidgetKit
- Objective-C
- urlsession
- MVVM
- containerBackground
- Widget
- WWDC
- CloneCoding
- Notification
- Protocol
- rxswift
- Swift
- OpenSourceLibrary
- ์๋ฒํต์
- github
- WWDC22
- async/await
- watchOS
- MOYA
- IOS
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Total
- Today
- Yesterday