์ ์ฒด ๊ธ
-
๋ฆ์์ง๋ง ์ง๊ธ์์์ผ ํด๋ณด๋ KWDC 2023 ํ๊ณํ๊ณ 2023. 8. 31. 10:08
์๋ ํ์ธ์ ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์ ๋ชฉ์ ์ ํ๊ณ ์ ๋๋ค ๐ ๋ฐ๋ก KWDC 2023์ ์ฐ์ฌ๋ก ์ฐธ์ฌํ๋ ๊ฒฝํ์ ๋ํ ํ๊ณ ๋ฅผ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ฌ์ค KWDC๊ฐ 7์ 18์ผ์ ์งํ๋์๊ธฐ์ ์กฐ๊ธ ๋ฆ์๊ฐ์ด ์๋ ํ๊ณ ์ด๊ธด ํ์ง๋ง... ํธ์ง ์์ ๋์ค๋ฉด ํ๋ ค๊ณ ๋ฏธ๋ค๋๋ค๊ณ ์ค์ค๋ก ๋์๊ธฐ๋์ค์ ๋๋ค ๐ซ ๊ทธ๋ผ ๋ฐ๋ก ํ๊ณ ๊ฐ๋ณด์๊ณ ~ ์...! ์ผ๋จ KWDC๊ฐ ๋ฌด์์ธ์ง ๋ชจ๋ฅด์ค๋ถ๋ ๋ง๊ธฐ์ KWDC๊ฐ ๋ญ์ง๋ถํฐ ์๊ธฐํด๋ณผ๊น์? ๊ทธ๋.. KWDC๊ฐ ๋ญ๋ฐ? iOS ๊ฐ๋ฐ์๋ผ๋ฉด, ์๋ ์ด์ ๋ iOS ๊ฐ๋ฐ์๊ฐ ์๋๋ผ๋ ์ ํ์์ 1๋ ์ ํ๋ฒ ์ด๋ฆฌ๋ WWDC, Apple Worldwide Developer Conference๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ธ๊ณ ๊ฐ๋ฐ์ ์ปจํผ๋ฐ์ค๊ฐ ์์ต๋๋ค. ๊ทธ์ ํ์๋์ด ์ผ๋ณธ์ด๋ ๋ค๋ฅธ ํด์ธ์์๋ ์ด๋ฏธ ์์ฒด iOS ์ปจํผ๋ฐ์ค๋ฅผ ์ด๊ณ ์์..
-
UIApplicationDelegateAdaptorSwiftUI 2023. 8. 28. 11:19
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ UIApplicationDelegateAdaptor์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป UIApplicationDelegateAdaptor? ์ฐ์ UIApplicationDelegateaAdaptor๋ SwiftUI์์ UIKit app delegate๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉํ๋ ํ๋กํผํฐ ๋ํผ์ ๋๋ค. @MainActor @propertyWrapper struct UIApplicationDelegateAdaptor where DelegateType : NSObject, DelegateType : UIApplicationDelegate ์ ์ธ์ ์์ ๊ฐ์ด ๋์ด ์๋ ํ๋กํผํฐ ๋ํผ์ด์ฃ ! SwiftUI์ ๋ผ์ดํ ์ฌ์ดํด์ ์ฌ์ฉํ๋ ์ฑ์์ ์ฑ๋๋ฆฌ๊ฒ์ดํธ ์ฝ๋ฐฑ์ ์ฒ๋ฆฌํ๋ ค๋ฉด UIApplic..
-
AVFoundation (feat. AVAudio)Swift 2023. 8. 25. 09:12
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ AVFoundation์ ๋ํด ๊ธฐ์ด๋ฅผ ์์๋ณด๋ฉฐ AVAudio ๋ถ๋ถ์ ์กฐ๊ธ ๋ ๊ฐ๋ ์ ์ผ๋ก ํ๋ณด๋ คํฉ๋๋ค ๐ ์ด์ ํฌ์คํ ์์ ์์ฑ์ ๋ น์ํ๊ณ ํ๋ ์ดํ๋ AVAudio๋ฅผ ์ค์ ์ฝ๋๋ก ๊ตฌํํ๋ฉด์ ๋ค๋ฃฌ์ ์ด ์์ด์! ๊ฑฐ๊ธฐ์ AVFoundation์ ์กฐ๊ธ ๋ ๋ฅํ๊ฒ ๋ค์ ํฌ์คํ ์์ ์๊ธฐํด๋ณธ๋ค๊ณ ํ์ต๋๋ค. ๊ทธ๋ ์ด ์ค๋์ ๋๋ค!!!!! AVFoundation ์ฐ์ AVFoundation์ด ๋ญํ๋ ๋ ์์ธ์ง๋ถํฐ ๊ณต์๋ฌธ์๋ฅผ ๋ณด๋ฉด์ ์ดํด๋ณผ๊ป์. AVFoundation์ ์์ฒญ๊ฐ asset์ผ๋ก ์์ ํ๊ณ , ์นด๋ฉ๋ผ ์ฅ์น๋ฅผ ์ปจํธ๋กคํ๋ฉฐ, ์ค๋์ค๋ฅผ ์ฒ๋ฆฌํ๊ณ , ์์คํ ์ค๋์ค ์ธํฐ๋์ ์ ๊ตฌ์ฑํฉ๋๋ค. iOS์์์ AVFoundation์ Core ํ๋ ์์ํฌ์ชฝ์ ์ํด์์ต๋๋ค. ๋ณด์๋ฉด ์ค๋ ๋ค๋ค๋ณผ Audio..
-
SwiftUI์์ ํ์ด๋จธ ๊ตฌํํ๊ธฐ (feat. User Notification)SwiftUI 2023. 8. 22. 08:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ์์ SwiftUI์์ ํ์ด๋จธ๋ฅผ ๊ตฌํํ๋ฉด์ ์๊ฐ์ด ๋ค๋๋ฉด Local Notification๊น์ง ๋ฐ์๋ณด๋ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณผ๊ป์ ๐๐ป ์ฐ์ ๋ชจ๋ธ๋ถํฐ ์ค๊ณํด๋ณผ๊ป์! Time Model ๊ตฌํ ์ค์ ํ ํ์ด๋จธ ์๊ฐ์ ์ / ๋ถ / ์ด๋ก ๋๋ ์ ๊ฐ ํ์ด๋จธ๊ฐ ๋ ์ ์๋๋ก ํ๋ฉด ์ข์๊ฒ ๊ฐ๋ค์. ๊ทธ๋ฌ๊ธฐ ์ํด์ ๊ฐ ํ๋กํผํฐ๋ค์ด ํ์ํ๊ณ ์ / ๋ถ / ์ด๋ก ๋๋ ์๊ฐ์ ๋ณํํ์ฌ ์ด๋ก ๋ง๋ค์ด์ฃผ๋ ํ๋กํผํฐ๋ค๋ ํ์ํ ๊ฒ ๊ฐ์์. struct Time { var hours: Int var minutes: Int var seconds: Int var convertedSeconds: Int { return (hours * 3600) + (minutes * 60) + seconds } static func ..
-
SwiftUI์์ Notification ์ฌ์ฉํ๊ธฐSwiftUI 2023. 8. 17. 12:25
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ Notification์ ๋ฐ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ํํ, ๋ค๋ฅธ ๋ทฐ์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ญ์ ์ผ๋ก NotificationCenter๋ฅผ ํตํด Notification์ ์๊ณ ํด๋น ๋ ธํฐํผ์ผ์ด์ ์ ์์ ํ๊ณ ์๋ ๋ค๋ฅธ ๋ทฐ๋ค์์๋ ์ ์ ํ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ฒ ํด์ค ์ ์๊ณ ๋ ๊ทธ๋ด๋ ๋ง์ด ์ฌ์ฉํ์ฃ ! SwiftUI์์ ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ตฌํํด๋ณด๊ณ ์์๊ฐ๋ณด์์ฃ ๐บ๐ป ์ฐ์ ๋๊ฐ์ง ๋ฐฉ์์ ์ฌ์ฉํด๋ณด๋ คํด์! ๊ฐ์ฅ ๋จผ์ SwiftUI์์ onRecieve๋ฅผ ํตํด ์์ ๋ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. onRecieve ์ด์ฉํ๊ธฐ ์ฝ๋๊ฐ ๊ฐ๋จํ๋ ๋ณ๋ ํ์ผ์ ์ชผ๊ฐ์ง ์๊ณ ์ฝ๊ฒ ํ ๋ทฐ์์ ๋ณด๊ฒ ์ต๋๋ค. import SwiftUI struct Conten..
-
SwiftUI๋ก ์์ฑ๋ฉ๋ชจ ๊ตฌํํ๊ธฐSwiftUI 2023. 8. 15. 11:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก ์์ฑ๋ฉ๋ชจ๋ฅผ ๊ตฌํํ๋ ํ์ต์ ํด๋ณด๋ คํด์! ๐ ์ด๋ป๊ฒ ๋ง๋ค์ด ๋ณผ๊น์? ์ ์ฒด์ ์ผ๋ก ์ค๋ช ํ๋ฉด AVFoundation์ ์ด์ฉํ์ฌ ํด๋น ์์ฑ๋ฉ๋ชจ ๋ฐ ์ฌ์ ๋ฑ์ ๊ดํ ๊ธฐ๋ฅ์ ํด์ค ์ ์๋ ์๋น์ค๋ฅผ ๋ง๋ค๊ณ ํด๋น ์๋น์ค ๊ฐ์ฒด๋ฅผ ๋ทฐ์์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. MVVM์ผ๋ก ๊ตณ์ด ๋ทฐ์ ๋ทฐ๋ชจ๋ธ์ ๋ง๋ค์ด ํด๋น ๋ทฐ๋ชจ๋ธ์ด ์์ฑ๋ฉ๋ชจ๋ฅผ ๊ด์ฅํ๋ ์๋น์ค ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๋ ๊ตฌ์กฐ๋ก ํ ์ ๋ ์์ง๋ง ๊ฐ๋จํ ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฑ๋ฉ๋ชจ ๊ธฐ๋ฅ์ ์ด์ ์ ๋ง์ถ๊ธฐ ์ํด ๊ตฌ์กฐ์ ์ผ๋ก ์๋ตํ์์ ๋ง์๋๋ ค์ ๐๐ป ๊ทธ๋ผ ๋ฐ๋ก ํ๋ฒ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค ๐บ๐ป ์์ฑ๋ฉ๋ชจ ์๋น์ค ๊ฐ์ฒด ๊ตฌํํ๊ธฐ ๊ฐ์ฅ ๋จผ์ ์์ฑ๋ฉ๋ชจ๋ฅผ ๋ด๋นํ๋ ์๋น์ค ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋๊ฒ์ด ํต์ฌ์ด์ ์ฌ์ค ์ ๋ถ์ ๋๋ค. ๊ทธ๋ ๊ธฐ์ ๋จผ์ ์ฝ๋๋ก ๋ณด๋ฉด์ ์ค๋ช ์ ํด๋ณผ๊ป์!..
-
VIPER ๋ฟ์ ๋ณด๊ธฐ (3)VIPER 2023. 8. 10. 10:08
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ VIPER์ ๋คํธ์ํน๊ณผ Interactor ๋ถ๋ถ์ ์น์คํ์ฌ ํ๋ฒ ํ์ต์ ํด๋ณด๋ คํฉ๋๋ค ๐ ์ผ๋จ ์ด์ ํฌ์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ์ด์ผ๊ธฐ๋ฅผ ํ์ด๋๊ฐ ์์ ์ด๊ธฐ์ ์ฌ์ ์ ๊ผญ ๋ณด๊ณ ์ค์๋๊ฒ ์ข์ต๋๋ค! VIPER ๋ฟ์ ๋ณด๊ธฐ (2) ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ VIPER 2ํ, ์ฝ๋๋ก ์์๋ณด๋ VIPER๋ฅผ ์๊ฐํ๋ฉด์ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐ ์ฐ์ , VIPER์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ฐ ํน์ง ๊ทธ๋ฆฌ๊ณ ๊ตฌ์กฐ ๋ฑ์ 1ํ์์ ๋ค๋ค๊ธฐ์ ๋จผ์ green1229.tistory.com ์ ๊ทธ๋ผ Interactor๋ฅผ ์๊ณ ๊ณ์ ๋ค๋ ๊ฐ์ ํ์ ์งํํ๊ฒ ์ต๋๋ค. ์ค์ ๋คํธ์ํฌ ํต์ ์ ๊ฐ์ง Interactor ๊ตฌํํ๊ธฐ ์ด์ 2ํ์์๋ Interactor๋ฅผ ๋คํธ์ํฌ ํต์ ์์ด ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์์๋ก fake ๊ตฌํ..
-
VIPER ๋ฟ์ ๋ณด๊ธฐ (2)VIPER 2023. 8. 7. 12:36
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ VIPER 2ํ, ์ฝ๋๋ก ์์๋ณด๋ VIPER๋ฅผ ์๊ฐํ๋ฉด์ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐ ์ฐ์ , VIPER์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ฐ ํน์ง ๊ทธ๋ฆฌ๊ณ ๊ตฌ์กฐ ๋ฑ์ 1ํ์์ ๋ค๋ค๊ธฐ์ ๋จผ์ ์ ํ์ผ๋ก ๋ณด๊ณ ์ค์๋๊ฑธ ์ถ์ฒ๋๋ฆฝ๋๋ค ๐ VIPER ๋ฟ์ ๋ณด๊ธฐ (1) ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ค๋๋ง์ ์๋ฆฌ์ฆ๋ก ์จ๋ณผ๊นํด์! ์ฃผ์ ๋ VIPER์ ๋๋ค ๐ ์ํคํ ์ณ๋ค ์กฐ๊ธ์ฉ ๋ด์ผ์ง ๋ด์ผ์ง~ ํ๋ค๊ฐ ํ๋ฒ์ ๋ค ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ๊ธฐ๋ ๋น์ฐํ ๋ฒ ์ฐฐ๊ฒ green1229.tistory.com ๊ทธ๋ผ ์ฐ๋ฆฌ์ ์๊ฐ์ ๊ท์คํ๋๊น ํต์ฌ์ผ๋ก ๋ฐ๋ก ๋์ด๊ฐ๋ณผ๊ป์. ์ค๋ ๋ฟ์ ๋ณผ ๋ถ๋ถ์ด ๋ญ๋ผํ์ฃ ? 1ํ์์ ์์๋ณธ ๊ตฌ์กฐ๋ค์ ์ฝ๋๋ก ๊ฐ ํํธ๋ฅผ ํํํด๋ณด๋ ๊ณผ์ ์ ํด๋ด์ผํด์. ์์๋ ์ํ๋๋ฐ ๋ญ๊ฐ ํฐ ์ฐ์ด ๋จ์์์๊ฒ ๊ฐ์ ๋๋..