์ ์ฒด ๊ธ
-
SwiftUI - blendModeSwiftUI 2024. 4. 1. 19:03
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ blendMode๋ผ๋ ๋ทฐ ๋ชจ๋ํ์ด์ด๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋ฐ๋ก ์ด์ ํฌ์คํ ์ธ compositingGroup์ ๋ํด ๋ค๋ฃฐ๋ ์ฌ์ฉ blendMode๋ฅผ ํตํด ๊ฒน์ณ์ง๋ ์ปดํฌ๋ํธ๋ค์ ์๊ฐ ํจ๊ณผ๋ฅผ ๋ค๋ฃฐ ์ ์๋ค๊ณ ์ธ๊ธํ์ต๋๋ค. ๊ทธ๋ ๊ธฐ์ ์ด๋ฒ ํฌ์คํ ์์ ์ด blendMode๊ฐ ๋ฌด์์ธ์ง ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์์๋ณด์์ฃ ! blendMode? ํผํฉ ๋ชจ๋๋ผ๊ณ ์ง์ญ์ด ๋๋ฉฐ ์ด๋ ํ ๋ทฐ๋ฅผ ๊ฒน์น๋ ๋ทฐ์ ํฉ์ฑํ๊ธฐ ์ํ ๋ชจ๋ ๋ฐฉ์์ ์ค์ ํ๋๊ฒ์ ๋๋ค. ์ฆ, ๊ฒน์ณ์ง๋ ๋ทฐ์ ๋ํด ์๊ฐ์ ํจ๊ณผ๋ฅผ ์ ์ดํ๋๊ฒ์ด์ฃ . iOS 13 ์ด์์ด๋ SwiftUI๋ฅผ ์ฌ์ฉํ๋ ๋ฏธ๋๋ฉ ํ๊ฒ ํ๊ฒฝ์ด๋ผ๋ฉด ๋ชจ๋ ์ด ๋ทฐ ๋ชจ๋ํ์ด์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. func blendMode(_ blendMode: Blend..
-
SwiftUI - compositingGroupSwiftUI 2024. 3. 28. 18:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ compositingGroup์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป compositingGroup? compositingGroup์ SwiftUI์์ ์ฌ์ฉ๋๋ ๋ทฐ ๋ชจ๋ํ์ด์ด๋ก iOS 13 ์ด์, ์ฆ SwiftUI๋ฅผ ์ฐ๋ ํ๊ฒฝ์ด๋ผ๋ฉด ๋ค ์ ์ฉํด๋ณผ ์ ์์ด์! ์ด๋ฆ์์๋ ์ ์ ์๋ฏ์ด ๋ทฐ๋ค์ ํฉ์ฑ๋ ๊ทธ๋ฃน์ผ๋ก ํฉ์ณ ๋ํํด์ฃผ๋ ์ญํ ์ ๊ฐ์ง๋๋ค. func compositingGroup() -> some View ์ ์๋ ์๋ฌํฉ๋๋ค. ๋ทฐ๋ฅผ ๋ฐํํ๋ ์ฌ๋ ๋ทฐ ๋ชจ๋ํ์ด์ด์ ๋์ผํ๋ ์ด๋ ค์ธ๊ฒ์ด ์์ด์! compositingGroup์ ๋ทฐ๊ฐ ๋ ๋๋ง๋๊ธฐ ์ ํด๋น ๋ทฐ์ ์์ ๋ทฐ๋ค์์ ๋ฐ์ํ๋ ํฌ๋ช ๋ ๋ฐ ๋ธ๋ ๋ ๋ชจ๋๊ฐ์ ์ปดํฌ์งํ ๋๋ ํจ๊ณผ๋ค์ ์ ์ฉ์์ผ์ค๋๋ค. compositingGro..
-
TexfField ์๋ฎฌ๋ ์ดํฐ ๋ฒ๊ทธ (Timeout)iOS 2024. 3. 25. 18:41
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ TextField ์ปดํฌ๋ํธ ์ฌ์ฉ ์ ๊ฒช์ ์ ์๋ ์๋ฎฌ๋ ์ดํฐ์ ๋ฒ๊ทธ์ ๋ํด ์์๋ณด๊ณ ์ฐํํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ด๋ค ๋ฒ๊ทธ!? ๐ ๋จผ์ ์ธ์ ๋ถํฐ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, ํฌ๋ผ์ ์ฌ๋ผ์ค๊ฑฐ๋ ํ๋ ๊ธ๋ค์ ์ดํด๋ณด๋ Xcode 15, iOS 17๋ก ์ฌ๋ ค์ ์๋ฎฌ๋ ์ดํฐ์์ ํ ์คํธํ๋ ๊ด๋ จํ์ฌ ํ ์คํธ ์ ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค. ์ค ๋๋ฐ์ด์ค์์๋ ๋ฐ์ํ์ง ์๋ ๋ฌธ์ ๋ก ์์ง ํ ์ต์ Xcode์์๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์ง ์์ ๋ถ๋ถ์ผ๋ก ๋ณด์ ๋๋ค ๐ญ ์ด๋ค ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋์ง ํ๋ฒ ๋ณด์์ฃ ! ๊ฐ๋จํ๊ฒ SwiftUI๋ก ์ฝ๋๋ฅผ ์์ฑํด๋ณผ๊ป์. import SwiftUI ... private struct NameInputView: View { @Binding private var owner: String @Enviro..
-
What's new in Swift 5.10Swift 2024. 3. 21. 18:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift 5.10์์ ์ด๋ค๊ฒ๋ค์ด ๋ณํ๋์ง ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฌ์ค Swift 5.10์ ์ผ๋ง์ ์ธ 3์ 5์ผ์ ๋ฆด๋ฆฌ์ฆ๊ฐ ๋์๊ณ , ํ์ฌ Swift ๊ณต์ ๋ ํฌ๋ฅผ ๋ค์ฌ๋ค๋ณด๋ฉด Swift 6.0 ๋ฆด๋ฆฌ์ฆ๋ฅผ ์ค๋น์ค์ด์์. ์ค์ ๋ก ChangeLog๋ฅผ ์ดํด๋ณด๋ฉด Swift 6.0 ๋ณํ๋ฅผ ์ํด ํ์ฌ ํ๋ฐํ ์งํ์ค์ธ๊ฑธ ๋ณผ ์ ์์ต๋๋ค! ๊ทธ๋์ ๊ณง ๋์ฌ Swift 6.0์ ์์๋ณด๊ธฐ์ Swift 5 ๋ฒ์ ๋์ ๋ง์ง๋ง์ธ Swift 5.10์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค ๐ Swift 5.10 ์์ ํ ์๊ฒฉํ๋ ๋์์ฑ ์ฒดํฌ Swift 5.10์์๋ ์์ ํ ์๊ฒฉํ๋ ๋์์ฑ ์ฒดํฌ๋ฅผ ํตํด ์๋ ค์ง ๋ชจ๋ ์ ์ ๋ฐ์ดํฐ ๊ฒฝ์ ์ํ์ ๋ํด ์์ ํด์ก์ต๋๋ค. -strict-concurrency=complete ์ต์ ์..
-
What's new in Screen Time API (WWDC 22)iOS 2024. 3. 18. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฐ๋ก ์ ๋ฒ์ ์ด์ด์ WWDC 2022์์ ์๊ฐ๋ Screen Time API์ ์ ๊ธฐ๋ฅ๋ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฌ์ค, ์ ํํ ๋ง ์๋กญ๊ณ 2๋ ๋ ์ง๋ WWDC์ด๊ธฐ๋ ํ๊ณ ๊ธฐ๋ฅ์ด๊ธฐ๋ ํ์ง๋ง์ ๐ฅฒ ๊ทธ๋๋, ์ ๋ ์ง๊ธ ์์๋ณด๊ณ ์์ผ๋ ์ด์ ๋์จ WWDC๋ฅผ ๋ณด๋๊ฒ์ฒ๋ผ ์๋กญ๊ฒ ๋ณด๋ คํฉ๋๋ค! ์ด์ ํฌ์คํ ์์ WWDC 21์์ ๋์จ Screen Time API๊ฐ ์ด๋ค๊ฒ์ด๊ณ ์ด๋ป๊ฒ ์ฝ๋๋ก ๊ตฌ์ฑ๋๋์ง์ ๋ํด ์์๋ดค์ด์. Meet the Screen Time API (WWDC21) ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Screen Time API์ ๋ํด ์์๋ณด๋ ค ํฉ๋๋ค ๐๐ป ๋์จ์ง ๊ฝค ๋์์ง๋ง, ์ด์ ์ผ ๊ถ๊ธํด์ ํ๋ฒ ํ์ตํด๋ณด๋ ค๊ณ ํด์ใ ใ ํ์ต ๋ ํผ๋ฐ์ค๋ WWDC๋ฅผ ๊ธฐ์ค์ผ๋ก..
-
Meet the Screen Time API (WWDC21)iOS 2024. 3. 14. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Screen Time API์ ๋ํด ์์๋ณด๋ ค ํฉ๋๋ค ๐๐ป ๋์จ์ง ๊ฝค ๋์์ง๋ง, ์ด์ ์ผ ๊ถ๊ธํด์ ํ๋ฒ ํ์ตํด๋ณด๋ ค๊ณ ํด์ใ ใ ํ์ต ๋ ํผ๋ฐ์ค๋ WWDC๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๋ด ๋๋ค! Meet the Screen Time API 2021๋ WWDC์์ Meet the Screen Time API๋ผ๋ ์น์ ์์ ์ฒ์ ์ด API๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์๊ฐํ๊ณ ์์ต๋๋ค. ์ฌ์ค ๋์จ์ง๋ 3๋ ์ ์ธ 2018๋ ์ ๊ธฐ๋ฅ ์์ฒด๋ ๋์์ฃ ! ๋๋ฐ์ด์ค๋ฅผ ํตํด ์ฌ์ฉ์์ ๊ฐ์กฑ์ ๊ด๊ณ๋ฅผ ๊ฐ์ ํ๋๋ฐ ํฐ ์ง์ ์ด ์์๋ค๊ณ ํฉ๋๋ค. ์ค์ ๋ก ๊ฐ์ฅ ํฐ ์ฌ์ฉ์ฌ๋ก์ด์ ์ํ๋ ์๋๋ ์์ด์ ๊ด๋ จ์ด ์์๊ฒ๋๋ค. ์๋ ๋ค์ ๋ ๋ถ๋ชจ๋๋ค์ด ์๋ ์ ๋๋ฐ์ด์ค์์ ์ฑ ์ฌ์ฉ ์๊ฐ๋ค์ ํ์ ํ ์ ์๊ณ , ๋ ์ ํ์ ๊ฑธ ์๋ ์์ต๋๋ค. ์ด๋ฅผ..
-
Firebase - Remote ConfigLibrary 2024. 3. 11. 18:59
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ํ์ด์ด๋ฒ ์ด์ค์ Remote Config ๊ธฐ๋ฅ ์ฌ์ฉ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ํ์ด์ด๋ฒ ์ด์ค์์ ์ ๊ณตํ๋ Remote Config๊ฐ ๋ฌด์์ธ์ง ํ๋ฒ ์ง๊ณ ๊ฐ๊น์? Firebase Remote Config? ํ์ด์ด๋ฒ ์ด์ค์์๋ Remote Config๋ผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ฃผ๋๋ฐ์. ํด๋น ๊ธฐ๋ฅ์ ํด๋ผ์ฐ๋์์ ์ฑ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ํด์ ๊ฐ์ ์ ๋ฐ์ดํธํ๋ฉด ์ฑ์ ๋ค์ ๋ฐฐํฌํ์ง ์์๋ ์ฑ์ ๋ทฐ๋ ๊ธฐ๋ฅ์ ์์ ํ ์ ์์ต๋๋ค. ์ฆ, ์๋ฒ์ ์๋ ์๊ฒฉ ๊ฐ์ ์ด์ฉํ์ฌ, ์ค์๊ฐ์ผ๋ก ๋ฆฌ์ค๋๋ฅผ ํตํด ์ ๋ฐ์ดํธ ๋ฐ์ ์ฑ์ ์ํ๋ฅผ ๋ณ๊ฒฝ์์ผ์ค ์ ์์ฃ . ์ด๋ป๊ฒ ์ ํ์ฉ๋๋๋ฉด, ์ฃผ๋ก ์ฑ์ ๊ฐ์ ์ ๋ฐ์ดํธ๋ ์ผ์์ ์ธ ์ ๊ฒ์ด ํ์ํ ๋ ์ด ์ปจํธ๋กคํด์ค ๊ฐ์ Remote Config๋ฅผ ํตํด ์ค์ ํ๊ณ ์ฑ์์๋ ..
-
SwiftUI - AppStorageSwiftUI 2024. 3. 7. 19:10
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ ์ฌ์ฉ๋๋ AppStorage์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ด๋ฒ ํฌ์คํ ์ ๋ด์ฉ์ UserDefaults๋ฅผ ์๋ค๋ ๊ฐ์ ํ์ ์งํํ๋ฉฐ, ๋ด์ฉ์ ์งง์ต๋๋คใ ใ AppStorage? AppStorage๋ UserDefaults๋ก ๋ถํฐ ๊ฐ์ ๋ฐ์ํ๊ณ ๊ฐ ๋ณ๊ฒฝ์ ๋ํ ๋ทฐ๋ฅผ ๋ฌดํจํํ๋ ํ๋กํผํฐ ๋ํผ๋ก ์ฌ์ฉ๋๋ ๊ตฌ์กฐ์ฒด์ ๋๋ค. iOS 14์ดํ๋ถํฐ ์ฌ์ฉํ ์ ์๊ณ ๊ตฌํ๋ ์ ์๋ ์๋์ ๊ฐ์ต๋๋ค. ์ฆ, ์ฝ๊ฒ ์๊ฐํ๋ฉด UserDefaults์ SwiftUI์ฉ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค. @frozen @propertyWrapper struct AppStorage ๊ธฐ๋ณธ์ ์ธ ์ด๋์ ๋ผ์ด์ ํํ๋ ์ด๋ฌํด์. init( wrappedValue: Value, _ key: String, ..