์ ์ฒด ๊ธ
-
SwiftUI์์ MVVM ์ฌ์ฉ์ ๋ฉ์ถฐ์ผ ํ๋๊ฐ?SwiftUI 2022. 7. 28. 11:12
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฆ ์๋ ์์ ๋ถํฐ ์กฐ๊ธ ๋ง์ด ๋ง์ด ๋์ค๊ณ ์๋ SwiftUI๋ฅผ ์ฐ๋ฉด์ MVVM ์ํคํ ์ณ ์ฌ์ฉ์ ์ง์ํ๋ ์๊ฒฌ๋ค์ด ๋ง์ด ๋์ค๊ณ ์์ต๋๋ค. ์ด์ ํ ๊ฐ๋ฐ์๊ฐ ์๊ฐ์ ์ ๋ฆฌํ ๋ ํผ๋ฐ์ค๋ฅผ ๋ณด๋ฉด์ ์ ์๊ฒฌ๋ ๊ฐ์ด ํ๋ฒ ์ ๋ฆฌํด๋ณผ๊นํฉ๋๋ค๐ ์ฐ์ ๋ง์ ๋ ํผ๋ฐ์ค๋ฅผ ์ด๊ฒ์ ์ํด ๋ดค๋๋ฐ์. ๊ทธ์ค์์ ์ง๊ธ๋ถํฐ ์ด ํฌ์คํ ์ ์ ๋ฆฌํ ๊ธ๋ค์ ์๋ณธ์ ์๋์์ ์ฐธ๊ณ ํ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค! ๋ฌผ๋ก ์ ๊ธฐ์ ์ ์๊ฒฌ๊ณผ ๋ค๋ฅธ ๋ถ๋ถ๋ ์๊ณ ์กฐ๊ธ ๋ ์ ๋ฆฌํด๋ณผ ๋ถ๋ถ๋ ์์ด์ ์ด ๋ถ๋ถ์๋ ์ ์๊ฒฌ์ ๊ฐ๋ฏธํ์ต๋๋ค~ https://qiita.com/karamage/items/8a9c76caff187d3eb838 ใSwiftUIใงMVVMใๆก็จใใใฎใฏๆญขใใใใใจๆใ่ณใฃใ็็ฑ - Qiita โป2022/04/23 ่ฟฝ่จ ..
-
SkeletonUILibrary 2022. 7. 25. 10:30
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฃผ ์์ ๋ถํฐ ๊ถ๊ธํ์๋๋ฐ ๊น๋จน๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ ๋ณด๊ณ ๊ฐ๋ ค๊ณ ํฉ๋๋คใ ใ ๋ฐ๋ก SkeletonUI ๋ผ๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ๋ ํจ์นญ์ด ์๋ฃ๋๊ธฐ์ ์ ๋น ๊ณต๊ฐ์ผ๋ก UI๋ฅผ ๋ณด์ฌ์ฃผ๋๊ฒ๋ณด๋ค ์๋์ ๊ฐ์ ์ด๋ฌํ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ฌ ์์ญ์ ๋ํด ๋ผ๋๋ฅผ ์ก๋๊ฒ์ด๋ผ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์์. ์ด๋ก ์ธํด ์กฐ๊ธ ๋ ์์ฐ์ค๋ฌ์ด UI ๊ฒฝํ์ ์์ผ์ค ์ ์์ผ๋ฉฐ ๋น ๋ทฐ๋ก ๋์ค๋ฉด ๋ฒ๊ทธ๋ผ๊ณ ์ธ์ํ๊ธฐ ์ฌ์ด ๋ฐ๋ฉด ์ด๋ฐ๊ฒ๋ค์ ์ ์ฉ์์ผ๋๋ฉด ๋ก๋ฉ์ค์ด๊ตฌ๋~ ๋ผ๊ณ ์ธ์ํ ์ ์์ด ์ฌ์ฉ์ ๊ฒฝํ์ ๋ ์ข์ ์ํฅ์ ๋ผ์นฉ๋๋ค๐ ๊ทธ๋ผ ์ด๊ฑธ ์ฝ๊ฒ ๊ตฌํํด๋์ SkeletonUI์ ๋ํด ์์๋ณด์์ฃ ! ์๋ง ์์ฃผ ๊ฐ๋จํ ๊ฒ ๊ฐ์์ ์ด๋ฒ ํฌ์คํ ์ใ ใ SkeletonUI? ๊ณต์ ๋ฆฌ๋๋ฏธ์์์ ์ค๋ช ์ด ์์ฃผ ๊ฐ๋จํ ๋์ด ..
-
@main vs @UIApplicationMainiOS 2022. 7. 21. 09:32
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ @main๊ณผ @UIApplicationMain์ด ๋ฌด์์ธ์ง ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ swift 5.3 ์ด์ ๋ถํฐ Xcode๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด๋ณด์๊ณ ๊ฒฝํํด๋ณด์ ๋ถ์ด๋ผ๋ฉด ์ด ๋ ํค์๋์ ๋ํด ๋ชจ๋ ๋ณด์ จ์๊ฑฐ์์. ๊ทธ๋ผ ์ค์ ์ ์ผ๋ก ์ด ๋ ํค์๋๋ ์ด๋ค ์น๊ตฌ๊ณ , ๋ฌด์จ ์ฐจ์ด์ด๋ฉฐ ์ด๋ค๊ฑธ์จ์ผํ๋์ง์ ๋ํด์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค! @main ์ฝ๊ฒ ๋งํด ์ด ํค์๋๋ ํ๋ก๊ทธ๋จ์ ์ง์ ์ ์ ๋ํ๋ด์ค๋๋ค. ์ด๋ ํ๋ก๊ทธ๋จ์ด๋์ง ์์์ ์ฆ Entry Point๋ ์กด์ฌํด์ผํ์ฃ . Swift์์๋ @main์ ํตํด ์ด๋์๋ถํฐ ์ด ์ฑ์ด ์ต์ด ์คํ๋๊ณ ์์๋ ์ง๋ฅผ ๋ช ์ํด์ฃผ๋ ํค์๋์ ๋๋ค. ์ด ํค์๋๋ Swift 5.3 ์ด์(Xcode 12)๋ถํฐ ์ฌ์ฉ๋ ํค์๋๋ก ๋ฐ๋ก ์ด์ด์ ์ค๋ช ํ๊ฒ ์ง๋ง..
-
Tuist ๋์ ์ผ๋ก swiftGen ๊ฒ์ด๋ด๊ธฐ (with. TuistGenerator)Tuist 2022. 7. 18. 11:08
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ Tuist๋ฅผ ๋์ ํจ์ผ๋ก TuistGenerator๋ฅผ ํตํด ์์ ๋ฑ์ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํด์ค์ผ๋ก ๊ธฐ์กด ์ฌ์ฉํ๋ swiftGen์ ๊ฑท์ด๋ด๋ฉฐ ์ด๋ป๊ฒ ๋์ฒดํ์ฌ ์ฌ์ฉํ๋์ง ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ ํน์ Tuist๊ฐ ๋ฌด์์ธ์ง ์ ํ์ด ํ์ํ์๋ค๋ฉด ์ ์๋๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์! https://green1229.tistory.com/262 Tuist ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ๋๋ง์ Tuist์ ๋ํด ์์๋ณด๊ณ ๋์ ํด๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ ๋ค๋ค Tuist์ ๋ํด ๋ค์ด๋ณด์ จ๋์? ํ์ ์์ ํ๋ก์ ํธ๋ฅผ ํ๊ณ ๊ณ์๋ค๋ฉด ์๋ง ์ฌ์ฉํ๋ ์ํ green1229.tistory.com ์ฐธ๊ณ ๋ก swiftGen์ R.swift์ฒ๋ผ ์์ ๋ฆฌ์์ค๋ฅผ ์ฝ๋ํ ์์ผ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ..
-
UIKit์์ SwiftUI๋ก LifeCycle ๋ณํํ๊ธฐiOS 2022. 7. 14. 09:07
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฃผ ๊ฐ๋จํ๊ฑธ ํด๋ณด๋ คํฉ๋๋ค! ๋ฐ๋ก UIKit ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก๊ฑฐ๋ ์ฌ์ฉ๋๊ณ ์๋ ์ฑ์ SwiftUI ์ธํฐํ์ด์ค ๊ธฐ๋ฐ์ผ๋ก ๋ฐ๊ฟ๋ณด๋ ค๊ณ ํด์๐ ๋น์ฐํ ๋ฌผ๋ก ์ฒ์์ ํ๋ก์ ํธ ์์ฑ ์ Interface ๋ฐฉ์์ ์ ๊ณ ๋ฅด๋ฉด ์๊ด์๊ฒ ์ง๋ง ์์๋๋ฉด ์ข๊ฒ ์ฃ ๐บ๐ป Storyboard ๊ธฐ๋ฐ ํ๋ก์ ํธ ์์ฑ ์ฐ์ UIKit ๊ธฐ๋ฐ์ผ๋ก ํ๊ฒฝ ์ ํ ์ ํ๋ ค๋ฉด ํ๋ก์ ํธ ์์ฑ ์ Storyboard๋ก ์ธํฐํ์ด์ค ์ค์ ์ ํด์ค์ผํฉ๋๋ค. ์ด๋ฌ๋ฉด ์ค๋ ํ์ตํด๋ณผ ํ๋ก์ ํธ๊ฐ ์์ฑ๋ฉ๋๋ค. ์ ๊ธฐ์ ์์๊ฒ ์ง๋ง Interface๋ Storyboard ๊ทธ๋ฆฌ๊ณ SwiftUI ์ ๋๊ฐ๋ก ๋๋๋๋ค. SwiftUI๋ก ๋ง๋ค๊ฒ ๋๋ฉด ์คํ ๋ฆฌ๋ณด๋ ํ์ผ์ด๋ App/SceneDelegate ํ์ผ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์์ผ๋ฉฐ App ํ์ผ์ ๋ฉ์ธ ์..
-
TuistTuist 2022. 7. 11. 07:59
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ๋๋ง์ Tuist์ ๋ํด ์์๋ณด๊ณ ๋์ ํด๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ ๋ค๋ค Tuist์ ๋ํด ๋ค์ด๋ณด์ จ๋์? ํ์ ์์ ํ๋ก์ ํธ๋ฅผ ํ๊ณ ๊ณ์๋ค๋ฉด ์๋ง ์ฌ์ฉํ๋ ์ํ๋ ํ๋ฒ์ฏค ๋ค์ด๋ดค์์ ์์ต๋๋ค. ์ด Tuist๊ฐ ์ ๋ค๋ค ๊ทธ๋ ๊ฒ ํ์ํ๋ค๊ณ ํ๊ณ ์ข๋ค๊ณ ํ๋์ง ์ด๋ฒ ํฌ์คํ ์์ ํ์คํ ์ ๋ฆฌํด๋ณผ๊ป์! Tuist๋? Tuist๋ ํ๋ง๋๋ก ์ ๋ฆฌํ์๋ฉด Xcode ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ์ ์ง๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋๋ฐ ๋์์ ์ฃผ๋ ์ปค๋งจ๋ ๋๊ตฌ์ ๋๋ค. XcodeGen์ด๋ผ๋ ๋ ์๊ณผ ์๋์ฐ๋งฅ์ด์ฃ . ์์ ์ ์ ํฌ์คํ ์์ SwiftGen๊ณผ R.Swift๋ฅผ ๋ค๋ฃฌ์ ์ด ์๋๋ฐ์. ์ฌ๊ธฐ์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ์ฉ๋์. ์ฆ, XcodeGen์ yml ํน์ json ์ธ์ด ํ์ผ๋ก ๋ง๋ค์ด์ค์ผํ๊ณ ๊ทธ์ ๋ฐ๋ฉด Tuist๋ ์ด๋ฌํ ๋ช ๋ น์ swi..
-
`ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` ์๋ฌ ํด๊ฒฐํ๊ธฐ (With. CocoaPods)Xcode 2022. 7. 7. 08:23
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ฝ์ฝ์ํ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ๋ฐ ์ธ์คํจ ์ ๋ฐ์ํ ์ ์๋ ์๋ฌ์ ๋ํด ํด๊ฒฐํด๋ณด๊ฒ ์ต๋๋ค. ์๋ฌ ๋ฐ์โ ๏ธ ์๋ฌ๋ ์๋ ์คํ ์ฒ๋ผ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ๋ชจ๋ํ๋ฅผ ํ๋ ๊ณผ์ ์์ ์ฌ๋ฌ ๋ชจ๋์ด ์๊ฒ ๋ ํ ๋ฐ์. ๊ฑฐ๊ธฐ์ ๋ฉ์ธ ๋ชจ๋์ด ๋ค๋ฅธ ๋ชจ๋์ ์๋์ ๊ฐ์ด ๊ฐ์ง๊ณ ์๊ฒ ๋๋ค๊ณ ํด๋ด ์๋ค. ๊ทธ๋ฌ์๋ ํด๋น ๋ฉ์ธ ๋ชจ๋๊ณผ ๋ค๋ฅธ ๋ชจ๋๋ค์์๋ ๊ฒน์น๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ํฌํธ๊ฐ ์์๊ฑฐ์์. ๊ทธ๋ ๊ฒ ๋ชจ๋ํ๋ฅผ ๋๋ด๊ณ , ํด๋น ๋ชจ๋๋ค์ pod init ํ์ผ์์ ๊ฐ๊ฐ ํ๊ฒ์ผ๋ก ์ง์ ํด์ค๋๋ค. ๊ทธ๋ผ pod install ์์ ์ฌ์ค์ ๊ฐ ๋ชจ๋๋ค์์ ์ํ ์ฝ์ฝ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ค์นํ๊ฒ ๋ฉ๋๋ค. ์ด๋ ์๋์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ณด์๋ฉด ํ ์ค์น๋ ๋ชจ๋ ๋ค ์ ์์ ์ผ๋ก ๋์๊ณ ์๋ฌ๋ผ๊ณ ๋ณด๊ธฐ์๋ ์ ์ ํ์ง ์์..
-
์ฝ์ฝ์ํ ๋ฐฐํฌ ํ๊ฒ ๊ด๋ จ ์ปดํ์ผ ์ค๋ฅ ํด๊ฒฐํ๊ธฐLibrary 2022. 7. 5. 08:24
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ฝ์ฝ์ํ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ๋ฐฐํฌ ํ๊ฒ ๊ด๋ จํ์ฌ ์ปดํ์ผ ์ค๋ฅ๊ฐ ๋๋ ํ์์ ํด๊ฒฐํด๋ณด๋ คํฉ๋๋ค! ์๋ฌ ํ์ ์ฐ์ ์ฆ์์ ์๋์ ๊ฐ์ต๋๋ค. ์ฌ์ฉํ๋ ค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ฝ์ฝ์ํ์ผ๋ก ์์กด์ฑ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๊ณ ์๋ ์ํ์ ๋๋ค. ๊ทธ๋์ ๋ชจ๋ Podfile์ ์ ์ ์๋์ด ์์๊ฒ์ด๊ณ ์์ค์ฝ๋์์ ์ปดํ์ผ ํ ๋ ์๋์ ๊ฐ์ด ํ๊ฒ ๊ด๋ จ ์ค๋ฅ๊ฐ ๋ํ๋ฉ๋๋ค. Alamofire ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์๋ฅผ ๋ค๊ฒ ์ต๋๋ค! ์๋ฅผ ๋ค์๋ฉด ์ด๋์! ์๋ผ๋ชจํ์ด์ด๋ฅผ ์ฌ์ฉํ๋๋ฐ pod install ์์ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ต์ ๋ฉ์ธ ๋ฐ์๋ ๋ฒ์ ์ ๋ค์ด๋ฐ๊ฒ ์ฃ ? ๊ทธ๋ฐ๋ฐ ์๋ฌ๋ฅผ ๋ณด๋ฉด ํด๋นํ๋ ์ฝ๋๋ค์ ๋ค "iOS 10 ์ด์๋ถํฐ ์ฌ์ฉํ ์ ์๋ค"๋ผ๊ณ ์๋ ค์ฃผ๋๊ฑธ ๋ณผ ์ ๊ฐ ์์ด์. ๊ทธ๋ผ ๋ฌธ์ ๋ ๋ญ๋?! ์๋ฌ ์์ธ ๋ฐ๋ก ์..