SWIFT
-
fastlane - IPA & dSYM ํ์ผ ๊ฒฝ๋ก ๋ณ๊ฒฝํ๊ธฐFastlane 2023. 5. 11. 12:47
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ fastlane์ ์ฌ์ฉํ์ฌ ์ฑ์ ๋น๋ํ๊ณ ์ ๋ก๋ํ ๋ ์๊ธฐ๋ IPA & dSYM ํ์ผ์ ๋ค์ด๋ก๋ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํด๋ณด๋ ค ํฉ๋๋ค๐๐ป ๋ณ๋ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ์ง ์๋๋ค๋ฉด? ๋จผ์ ์ ์ด๊ฑธ ํ๊ฒ๋์๋๋ฉด Tuist๋ฅผ ํตํด ์ต์๋จ ๊ฒฝ๋ก์ธ workspace๊ฐ ์์ฑ๋๋ ๊ฒฝ๋ก์ fastlane์ ๋ถ์ฌ์ฃผ์์ต๋๋ค. ๊ทธ๋ฌ๋ค๋ณด๋ ์ค์ Fastfile์ ๊ตฌ์ถํด ํ ์คํธํ๋ผ์ดํธ์ ์ฑ์ ์ ๋ก๋ ๋ฐฐํฌํ๊ธฐ๊น์ง ๊ณผ์ ์ธ ์๋ ์ฃผ์ 3๋จ๊ณ๋ฅผ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค. (๋ฌผ๋ก ๊ทธ ์ ์๋ ๋น๋ ๋๋ฒ๋ฅผ ์ฌ๋ ค์ฃผ๊ณ ๊ฐ์ข ์ฑ์ ๋ง๋ ์ค์ ์ ํ๊ฒ ์ง๋ง์..!) - update_app_identifier - build_app - upload_to_testflight build_app ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ฉฐ ์ฑ์ด ๋น๋๋๊ณ iOS ์ฑ ํ์ผ์ธ IP..
-
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๋ฅผ ํตํด SwiftLint ์ฌ์ฉํ๊ธฐTuist 2023. 4. 25. 11:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Tuist๋ก ํ๊ฒฝ ๊ตฌ์ถ์ ํ๋ฉฐ ์ฝ๋ ๋ฐ ํ์ผ ์ปจ๋ฒค์ ์ ์ก์์ฃผ๊ธฐ ์ํ SwiftLint๋ฅผ ๋์ ํ๋ฉด์ ์กฐ๊ธ ๋ ๋ผ์ดํธํ๊ฒ ์ฌ์ฉํด๋ณด๋ คํฉ๋๋ค๐๐ป ์ฐ์ , swiftLint๋ ๋ง์ด๋ค ์ฌ์ฉํ ๊ฒ ๊ฐ์๋ฐ์. brew๋ก swiftLint๋ฅผ ์ค์นํด์ค ์ ๋ ์๊ณ , CocoaPods์ด๋ Mint๋ก ํด๋น SwiftLint ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์น ํ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ฌํ ๊ณผ์ ๋ค์ ํด๋น SwiftLint๋ฅผ ๋ชจ๋ ์์กด์ฑ ์ค์นํ๊ณ ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ ๊ฒฝํฅ์ด ์์ด Tuist๋ฅผ ์ฌ์ฉํ๋ฉด์ ์กฐ๊ธ ๋ ๋ผ์ดํธํ๊ฒ ํ์ํ ๋ถ๋ถ๋ง ๊ฐ์ ธ์ ์ค์ brew, Cocoapods, Mint๋ก ์ค์น ํ ํ ์ฌ์ฉํ์ง ์๋ ๋ฐฉ๋ฒ์ ๋์ ํด๋ดค์ต๋๋ค๐ ์์ฃผ ๊ฐ๋จ๋ช ๋ฃํ๋ ํ๋ฒ ๋ฐ๋ผ๊ฐ๋ณด์์ฃ ! Tuist๋ฅผ ๊ตฌ์ถํ๋ฉฐ Swi..
-
Tuist์์ Lottie ๋ฆฌ์์ค ์ค์ ํ๊ธฐ (with. JSON)Tuist 2023. 4. 13. 09:42
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Tuist๋ฅผ ํตํด Lottie ๊ตฌํ์ ์ํ ๋ฆฌ์์ค ์ค์ ์ ํด๋ณด๊ณ ๊ทธ๊ฑธ ์ฌ์ฉํด๋ณผ๊น ํฉ๋๋ค๐ ์ฐ์ Lottie๊ฐ ๋ฌด์์ธ์ง ์์ฃผ ๊ฐ๋ตํ๊ฒ ์ง์ด๋ณผ๊น์? Lottie ๊ฐ๋ตํ๊ฒ ์ง๊ณ ๋์ด๊ฐ๊ธฐ Lottie๋ ์์ด๋น์๋น์์ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฒกํฐ ๊ธฐ๋ฐ ์ ๋๋ฉ์ด์ ๊ณผ ์ํธ๋ฅผ ์ต์ํ์ ์ฝ๋๋ก ์ค์๊ฐ ๋ ๋๋ง ํด์ฃผ๋ iOS/AOS์์ ๋ชจ๋ ์ง์ ๊ฐ๋ฅํ ๋ชจ๋ฐ์ผ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค! Bodymovin JSON ํ์์ผ๋ก ๋ด๋ณด๋ด์ง ์ ๋๋ฉ์ด์ ๊ณผ ๋ฒกํฐ๋ฅผ ๋ก๋ํด ๋ ๋๋ง ํด์ค์. ์ฌ๊ธฐ์ ์ค๋ ์ฐ๋ฆฌ๊ฐ ๋ค๋ค๋ณผ๊ฒ์ด๊ธฐ๋ ํ๋ฐ์. JSON ํ์์ผ๋ก Lottie ๋ฆฌ์์ค ํ์ผ์ด ๊ตฌ์ฑ๋์ด ์๋ค~ ์ ๋๋ง ์ฌ๊ธฐ์ ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.ใ ใ ๊ทธ JSON ํ์ผ์ ๋ฆฌ์์ค๋ก ๋ฐ์ ์ฐ๋ฆฌ๋ ์ ๋๋ฉ์ด์ ์ ๋ง๋ค์ด๋ณผ๊ฑฐ๋ค! ..
-
Safari Web Extensions ํ๊ตฌํด๋ณด๊ธฐ (with. WWDC 20)MacOS 2023. 4. 6. 10:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ๋ถํฐ ๋ช์ฃผ๊ฐ์ ์กฐ๊ธ ํน๋ณํ๊ฑธ ํด๋ณผ๊นํด์. ๋ฐ๋ก ์ฌํ๋ฆฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณผ๊น ํฉ๋๋ค๐๐ป ๊ทธ๋์ ๋จผ์ WWDC 20์์ Safari Web Extensions์ ๋ํด ๋ฐํ๊ฐ ์์ด์ ์ค๋ ๊ทธ๊ฑฐ๋ถํฐ ํ์ตํด๋ณด๋ คํฉ๋๋ค๐ ์์ macOS ๊ฐ๋ฐ์ด๋ Safari Web Extensions ์ ์ชฝ ๊ฐ๋ฐ์๋ ์ง์์ด ์ ํ ์์ด ์ ๊ฐ ๋๋ผ๊ธฐ์ ๋จผ์ ๋ฐฐ์ฐ๋ฉด ์ข์๊ฒ ์์ฃผ๋ก ํ์ต์ค์ ๋๋ค! ๋ง์ ๋์ ๋ฐ ์ง์ ๋ถํ๋๋ฆฝ๋๋ค๐๐ป ๊ธฐ์กด Safari์ ํ์ฅ ์์ฝ ์์คํ Safari 14 ์ ๋ฒ์ ๋ค์์ ํ์ฅ ์์ฝ ์์คํ ๋ฐฉ์์ ๋ํด ์ค๋ช ํฉ๋๋ค. Content Blockers ๐๐ป iOS / macOS์์๋ง ์๋ํ๋ฉฐ ์ด๋ ์๋์ ์ ์ ๊ฐ์ธ์ ๋ณด๋ณดํธ๋ฅผ ์ํด ๊ณ ์๋์์ต๋๋ค. Share Extensions ๐๐ป..
-
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..