ios
-
debugPrint์ print ์๊ณ ์ฐ๊ธฐ (feat. dump)Swift 2023. 5. 8. 09:21
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ debugPrint์ print์ ๋ํด ์์๋ณด๋ ค ํฉ๋๋ค (์กฐ๊ธ ๋ ๋์๊ฐ์ ๊ฐ๋จํ dump๊น์ง!)๐๐ป ์ฌ์ค ๋ง์ iOS ๊ฐ๋ฐ์๋ผ๋ฉด ์ด๋ฏธ ์ต์ํ๊ณ ์ฐจ์ด๋ ์ ์์คํ ๋ฐ ํ๋ฒ ํ์คํ ์ข ๋ ๋ช ํํ๊ฒ ์ ๋ก๊น ์ฉ์ผ๋ก debugPrint๋ฅผ ์จ์ผํ๋์ง ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๋ก๊น ์ํฉ์์ debugPrint๋ฅผ ๊ฐ์ ธ๊ฐ๋๊ฒ ์ข์๊ฑด์ง ์ ๋ฆฌํด๋ณด๋ ค๊ณ ์ด๋ฒ ํฌ์คํ ์ ์ฃผ์ ๋ก ๊ฐ์ ธ์๋ดค์ต๋๋ค๐บ๐ป ๊ทธ๋ผ ์ฐ์ ๊ฐ๋ ์ ์ผ๋ก ๊ฐ๋จํ๊ฒ ์ง๊ณ ๋์ด๊ฐ์ผํ๋ debugPrint์ print์ ๊ฐ๋ ๋ถํฐ ํ์ด๋ณด์์ฃ ! debugPrint ์ฐ์ ๊ณต์๋ฌธ์์์๋ ๋๋ฒ๊น ์ ๊ฐ์ฅ ์ ํฉํ ํ ์คํธ ํํ์ ์ถ๋ ฅ์ ์ฌ์ฉํ๋ค๊ณ ์์ฃผ ๋ก๊น ์ฉ์ผ๋ก ์จ๋ผ!๋ผ๊ณ ๋๋๊ณ ๊ฐ์กฐํ๊ณ ์๋ ๋๋์ ๋๋ค๐ฒ ์ ์ธ์ ๋ณด์๋ฉด ์๋์ ๊ฐ์ต๋๋ค. func debugP..
-
Multiple commands ์๋ฌ ๋ฐ๋ก์ก๊ธฐ (feat. GoogleService-Info.plist)Tuist 2023. 5. 4. 13:41
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ์๋ ๊ฐํน ํ๋ฒ์ฏค ๋ณด์ จ์ Multiple commands ์๋ฌ์ ๋ํด ํ์ ํด๋ณด๊ณ ๋ฐ๋ก์ก๋ ์ค๋ฌด์ ๊ฐ๊น์ด ํฌ์คํ ์ด ๋ ๊ฒ ๊ฐ์์๐๐ป ์ฐ์ , ์ ๋ Tuist๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๊ณ ์์ฑํด์ฃผ๋๋ฐ ์ด๋ Prod / Dev / QA ์ด 3๊ฐ๋ก ํ๊ฒ ๋ฐ ์คํด์ ๋๋๊ณ ์ํฌ์คํ์ด์ค๋ฅผ ๊ตฌ์ฑํด์ค๋๋ค. ์ ๊ฒฝ์ฐ์ entitlement ํ์ผ์ด๋ผ๋์ง ์๋๋ฉด ํํ ์ฌ์ฉ๋๋ Firebase์ config ์ค์ ์ ์ํด GoogleServiceInfo.plist ํ์ผ์ ๊ตฌ์ฑํด์ฃผ๊ณ ๋ฆฌ์์ค์ ์ฌ์ด์ฃผ๊ฒ ๋๋๋ฐ์. ์ด๋ ๋ฆฌ์์ค ํด๋ ๋ด ๊ฐ ์ด 3๊ฐ์ GoogleServiceInfo.plist ํ์ผ์ด ์๊ธฐ๊ณ ์ด๋ฅผ ๋ฆฌ์์ค๋ก ๋์ผํ๊ฒ ๊ฐ์ ธ๊ฐ๋ คํ๋ ์๋ฌ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋์ ์ด๋ฒ ํฌ์คํ ์์๋ GoogleServiceI..
-
Setting Bundle์ ์ฌ์ฉํด ์ปค์คํ ํ ์ค์ ์ถ๊ฐํ๊ธฐiOS 2023. 5. 1. 20:24
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Setting Bundle์ ์์๋ณด๊ณ ์ด๋ฅผ ์ด์ฉํด ๊ธฐ๋ณธ ์ฑ ์ค์ ์์ ์ปค์คํ ํ ์ค์ ๋ค์ ์ถ๊ฐํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค๐๐ป ์ด ์ฃผ์ ์ ๋ํด ์์๋ณด๊ฒ ๋ ๊ณ๊ธฐ ์ฐ์ ์์ฝ ์๋ฎฌ๋ ์ดํฐ์์ ๊ฐํน ๋ฐ์ํ๋ ๋ฒ๊ทธ์ธ์ง ์ ๋ ์์ง ๋ช ํํ ์์ธ์ ์ฐพ์ ์ ์๋ ๋ฌธ์ ๊ฐ ์์์ด์! ์๋ฅผ๋ค์ด, ํ ์ด ํ๋ก์ ํธ๋ก ์ค์ ์ฑ ์คํ ์ด์ ๋ฐฐํฌ๋์ง ์์ ์ฑ์์ ์์น ์ ๋ณด๋ฅผ ๋ฐ์์จ๋ค๊ณ ๊ฐ์ ํด๋ณผ๊ป์. ๊ทธ๋ด๋ ์ฐ๋ฆฌ๋ ์์น ์ ๋ณด ํ์ฉ์ ๋ํ ์์ฒญ์ ๋ณด๋ด๊ณ ์ด๋ ๋๋ฐ์ด์ค ๊ธฐ๋ณธ ํด๋น ์ฑ ์ค์ ์์ ํ์ธํ ์ ์์ด์. ์ฆ, ๋๋ฐ์ด์ค > ์ค์ ์์ ํด๋น ์ฑ์ด ๋ชฉ๋ก์ ๋ ธ์ถ๋์ด์ผ ํ๋๋ฐ ๋ ธ์ถ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ๊ทธ๋์ ์ฌ์ค์ ๋ช ํํ ํ ์คํธ๋ฅผ ํด๋ณผ ์๊ฐ ์์๋ ์ด์๋ก ์ธํด ํ ์คํธ๋ฅผ ์ํด์ ๊ธฐ๋ณธ ์ฑ ์ค์ ์ด ๋ชฉ๋ก์ ๋ํ๋๊ฒ..
-
Tuist์์ Firebase Crashlytics ์ค์ ํ๊ธฐTuist 2023. 4. 27. 10:39
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ฒ Tuist์์ SwiftLint๋ฅผ ๊ฐ๋ณ๊ฒ ์ฌ์ฉํ๋๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก Firebase Crashlytics๋ฅผ ํ๊ฒ build script์์ ์ด๋ป๊ฒ ๊ตฌ์ฑํ๋์ง ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์ ๋งค์ฐ ๊ฐ๋จํ์ง๋ง ํต์ฌ์ ์ธ ๋ถ๋ถ์ด ์์ต๋๋ค๐ฅ Tuist๋ฅผ ์ฌ์ฉํ์ง ์๋ ํํ์์ ๊ธฐ์กด ๋ฐฉ์ ์ฐ์ ๊ธฐ์กด Tuist๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ฑ ํ๊ฒ๋ค์์ ์ง์ ๊ด๋ฆฌํ๊ณ ๋ฃ์ด์ค๋๋ ์ด๋ฐ์์ผ๋ก ์ฌ์ฉํ ์ ์์์ด์๐๐ป ๋ณด์๋ฉด Firebase Crashlytics๋ฅผ run ์ํค๊ธฐ ์ํ ๊ฒฝ๋ก๊ฐ Build Dir๋ก ๋ถํฐ SourcePackages๋ด ์ญ์ฃผ์ฃฝ ๊ฒฝ๋ก๊ฐ ์ด์ด์ ธ ์์ฃ !? ์ฆ ์ง๊ธ ํด๋น ์ฑ ํ๊ฒ์ ์ค์ SPM์ด๋ Pod์ด๋ ๊ด๋ฆฌ๋๊ณ ๊ฐ์ ธ์๊ธฐ์ ํ์ฌ ์ฑ ํ๊ฒ์ด ์ต์์ ๊ฒฝ๋ก๊ฐ ..
-
Tuist๋ฅผ ํตํด SwiftLint ์ฌ์ฉํ๊ธฐTuist 2023. 4. 25. 11:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Tuist๋ก ํ๊ฒฝ ๊ตฌ์ถ์ ํ๋ฉฐ ์ฝ๋ ๋ฐ ํ์ผ ์ปจ๋ฒค์ ์ ์ก์์ฃผ๊ธฐ ์ํ SwiftLint๋ฅผ ๋์ ํ๋ฉด์ ์กฐ๊ธ ๋ ๋ผ์ดํธํ๊ฒ ์ฌ์ฉํด๋ณด๋ คํฉ๋๋ค๐๐ป ์ฐ์ , swiftLint๋ ๋ง์ด๋ค ์ฌ์ฉํ ๊ฒ ๊ฐ์๋ฐ์. brew๋ก swiftLint๋ฅผ ์ค์นํด์ค ์ ๋ ์๊ณ , CocoaPods์ด๋ Mint๋ก ํด๋น SwiftLint ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์น ํ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ฌํ ๊ณผ์ ๋ค์ ํด๋น SwiftLint๋ฅผ ๋ชจ๋ ์์กด์ฑ ์ค์นํ๊ณ ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ ๊ฒฝํฅ์ด ์์ด Tuist๋ฅผ ์ฌ์ฉํ๋ฉด์ ์กฐ๊ธ ๋ ๋ผ์ดํธํ๊ฒ ํ์ํ ๋ถ๋ถ๋ง ๊ฐ์ ธ์ ์ค์ brew, Cocoapods, Mint๋ก ์ค์น ํ ํ ์ฌ์ฉํ์ง ์๋ ๋ฐฉ๋ฒ์ ๋์ ํด๋ดค์ต๋๋ค๐ ์์ฃผ ๊ฐ๋จ๋ช ๋ฃํ๋ ํ๋ฒ ๋ฐ๋ผ๊ฐ๋ณด์์ฃ ! Tuist๋ฅผ ๊ตฌ์ถํ๋ฉฐ Swi..
-
Swift 5.8Swift 2023. 4. 4. 09:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์ ์ง๋๋ฌ 30์ผ์ ๋ฆด๋ฆฌ์ฆ๋ Swift 5.8์ ๋ํด ์ด๋ค๊ฒ๋ค์ด ๋ํ๋ฌ๊ณ ๋ณ๊ฒฝ๋์๋์ง ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐๐ป Swift 5.8 2023๋ 3์ 30์ผ ๊ณต์์ ์ผ๋ก Swift 5.8์ด ์ถ์๋์์ต๋๋ค. ์ด๋ฒ ๋ฆด๋ฆฌ์ฆ์์๋ ํฅํ ๊ธฐ๋ฅ์ ๋จํธ์ ์ฑํ์ ์ง์ํ๋ ๊ธฐ๋ฅ, ํฅ์๋ ๊ฐ๋ฐ์ ํ๊ฒฝ, Swift-DocC, SPM ๋ฐ SwiftSyntax๋ฅผ ํฌํจํ Swift ์์ฝ ์์คํ ์ ํด ๊ฐ์ , ํฅ์๋ Windows ์ง์ ๋ฑ ์ธ์ด ๋ฐ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ฃผ์ ์ฌํญ๋ค์ด ์ ๋ฐ์ดํธ ๋์์ต๋๋ค! ์ฃผ๋ก ๋๊ปด์ง๊ฒ์ ์๋ก์ด ๊ธฐ๋ฅ๋ค์ด ๋ง ์์์ ธ ๋์๋ค๊ธฐ ๋ณด๋ค๋ ๊ธฐ์กด Swift์ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ๋ค์ ๊ฐ์ ์ด ๋ง์๋๊ฒ ๊ฐ์ต๋๋ค. ๋ฆด๋ฆฌ์ฆ๋ Swift 5.8์ ์ฌ์ฉํ๋ ค๋ฉด ๊ฐ์ ๋ ์ ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ Xcode 14..
-
์ฟ ํค๋ก ์์ ํ๊ฒ HLS m3u8 ์์ ์ ๊ทผํ๊ธฐiOS 2023. 3. 30. 16:14
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ HLS์ m3u8ํ์ผ์ด ๋ญ์ง ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ์์๋ค์ ์ฟ ํค๋ฅผ ํตํด ์ด๋ป๊ฒ ์์ ํ๊ฒ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์๋์ง ํ์ตํด๋ณด๊ณ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค๐๐ป ์ฐ์ ์ฟ ํค๋ก ์์ ํ๊ฒ ์์์ ์ ๊ทผํ๊ธฐ์ HLS์ m3u8์ด๋ผ๋ ๊ฐ๋ ์ ๋ํด ์์๋ณด์์ฃ ๐บ๐ป HLS (HTTP Live Streaming) ํ์ค HTTP ๊ธฐ๋ฐ ์คํธ๋ฆฌ๋ฐ ํ๋กํ ์ฝ๋ก HLS๋ผ๊ณ ํํ ๋ถ๋ฆฝ๋๋ค. ์ฆ, ์ฝ๊ฒ ๋งํด ๊ฐ์ฅ ํํ ์ฌ์ฉ๋๋ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ํ๋กํ ์ฝ์ด๋ผ๊ณ ํ์ฃ . HTTP ํ์ผ ์กฐ๊ฐ๋ค๋ก ๋น๋์ค ํ์ผ์ ๋๋๊ณ ์ด๋ฅผ HTTP ํ๋กํ ์ฝ์ ์ด์ฉํด ์ ์กํฉ๋๋ค. ํด๋ผ์ด์ธํธ ๋จ์์๋ ์ด๋ฐ HTTP ํ์ผ์ ๋ก๋ํ ํ ๋น๋์ค๋ฅผ ์ฌ์์ํฌ ์ ์์ฃ ! ๊ทธ๋ผ ์ HLS๋ฅผ ์ฌ์ฉํ๋๋? ์ด์ ๋ํ ๋ฌผ์์๋ HLS ์ฅ์ ์ค ํ๋๋ก ๋ชจ๋ ์ธํฐ๋ท ..
-
Swift Concurrency - @MainActor ์ฌ์ฉํ๊ธฐConcurrency 2023. 3. 27. 10:47
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ @MainActor๋ฅผ ์ฌ์ฉํด ๋ฉ์ธ ํ์์ UI ์ ๋ฐ์ดํธ๋ฅผ ์๋์ผ๋ก ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐๐ป โ๏ธ UI ์ ๋ฐ์ดํธ๋ ๊ผญ ๋ฉ์ธ ์ค๋ ๋์์ ์งํ๋์ด์ผ ํ๋ค ์ฐ์ ๋ค๋ค ์๋ค์ํผ iOS์์ UI ์ ๋ฐ์ดํธ์ ๊ดํ๊ฑด ๋ชจ๋ ๋ฉ์ธ ์ค๋ ๋์์๋ง ์ ๋ฐ์ดํธ ํด์ผํ๋ค๋ ์ ์ ๋๋ค. ๋ง์ฝ ๋ฉ์ธ ์ค๋ ๋๊ฐ ์๋ ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ๊ฐ์ ์ค๋ ๋์์ UI ์ ๋ฐ์ดํธ๋ฅผ ์น๋ค๋ฉด ์๊ธฐ์น ๋ชปํ ๋์์ด ๋ฐ์ํ ์ ์๊ณ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ๋ด๋ณด๋ด์ฃ ! ๋ฐ๋ผ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋์์ ์ง์ ํน์ ๊ฐ์ ์ ์ผ๋ก ์์ ์ ์ํํ ๋๋ง๋ค UI ๋ ๋๋ง๊ณผ ๊ด๋ จํ ์์ฑ ๋ฐ ๋ฉ์๋์ ์ ๊ทผํ๊ธฐ ์ ์ ๊ผญ ๋ฉ์ธ ์ค๋ ๋๋ก ์ด๋์์ผ์ผ ํฉ๋๋ค. ๋ฌผ๋ก ๋น์ฐํ๊ฑฐ ์๋์ผ? ๋ผ๊ณ ์๊ฐ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ์์ ์ ํ๋ค๋ณด๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋์..