์ ์ฒด ๊ธ
-
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..
-
Developer Portal Team ID์ AppStore Connect Team ID ์ฐพ๊ธฐFastlane 2023. 4. 20. 09:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Fastlane ์ก์ ์ ์ฌ์ฉํ๋ฉด์ ํ์ํ ๋ ID ๊ฐ์ ๋ํด ์์๋ณด๋ ค ํฉ๋๋ค๐ Fastlane์์ ๋ ID ๊ฐ์ด ํ์ํ ์ด์ ์ ์ค์ ํ๋ ์์น ์ฐ์ ๋ณธ์ธ์ ์ ํ ๊ณ์ ์ด ํ์ฌ์ ๋์๋ฆฌ ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ์ธ ๋ฑ ์ฌ๋ฌ ํ์ ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ์ ์์ต๋๋ค. ์ด๋ด๋ Fastlane์ ํตํด ์ฑ์ ์ ๋ก๋ํ๋ค๋ฉด ์ด๋ค ํ์ธ์ง ๋ถ๋ช ํํ์ฌ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค๐ฅน ๊ทธ๋ ๊ธฐ์ ์ค์ ๋ก Fastlane์ ์ด๊ธฐ ์ค์ ํ ๋ Appfile์ ๋ด๋ถ ์ฝ๋์์ ์ค๋ ์ฃผ์ ์ธ ๋๊ฐ์ง ID ๊ฐ์ ๋ํด ํค ๊ฐ์ผ๋ก ์ค์ ํด์ค์ผ ํฉ๋๋ค. ์๋ฅผ๋ค์ด, ์ ์ ๊ฒฝ์ฐ Fastlane์ Appfile์ ๋ณด์๋ฉด ์๋์ ๊ฐ์ต๋๋ค. if !ENV["APPLE_ID"] message = "โ ๏ธ โ ๏ธ 'APPLE_ID' environment ..
-
Tuist - Custom Flags ๋ค๋ฃจ๊ธฐTuist 2023. 4. 18. 16:50
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ์์๋ Tuist๋ฅผ ์ค์ ํด์ฃผ๋ฉด์ ์ฝ์งํ๊ฒ์ค ํ๋๋ฅผ ๊ณต์ ํด๋ณผ๊นํด์๐๐ป ์ฐ์ ์ฃผ์ ๋ Custom Flags์ ๋๋ค. ๋ค๋ค, Debug / Relase๋ผ๋ ๊ธฐ๋ณธ swift compiler flag๊ฐ ์๋ค๋๊ฒ์ ์์ ๋ค๋ ๊ฐ์ ํ์ ์ฃผ์ ์ฃผ์ ํด๋ณผ๊ป์! Custom Flag ์ฝ์งํ๊ธฐ Tuist๋ฅผ ํตํด ์ ๋ ํ๋์ ํ๋ก์ ํธ์ Prod, Dev, QA ํ๊ฒ์ ๋๊ณ ์ด ํ๊ฒ๋ค์ ๊ฐ๊ฐ์ ์คํด์ผ๋ก ๋ง๋ค์ด์ ๊ด๋ฆฌํ๋ ๋์ค ์ค์ ์ฌ์ฉ ์ฝ๋์์ ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์๋ฅผ๋ค์ด, Dev, QA, Prod์ API host url์ด ๋ค๋ฅด๊ฑฐ๋ ํ๋ฆฌ๋ทฐ๋ฅผ ๋์์ฃผ๊ฑฐ๋ ํ๋ ๊ฒ๋ค์์ ์ค์ ๋ก ํด๋น ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด ์๋์ ๊ฐ์ด ์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๊ณค ํ์ฃ . #if DEBUG print("๋๋ฒ๊น ~") #el..
-
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 ํ๊ตฌํด๋ณด๊ธฐ (2)MacOS 2023. 4. 10. 09:33
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ ๋ฒ ํฌ์คํ ์ ์ด์ด Safari Web Extensions๋ฅผ ๊ตฌํํ ์์ ๋ค์ ๋ฐ๋ผํด๋ณด๋ฉฐ ํ๊ตฌํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋ คํฉ๋๋ค๐ ๋ง์ฝ ์ ๋ฒ ํฌ์คํ ์ ๋ณด์ง ์์ผ์ จ๋ค๋ฉด ๋จผ์ ๋ณด๊ณ ์ค์๋๊ฑธ ์ถ์ฒ๋๋ ค์! https://green1229.tistory.com/346 Safari Web Extensions ํ๊ตฌํด๋ณด๊ธฐ (with. WWDC 20) ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ ์ด๋ฒ ํฌ์คํ ๋ถํฐ ๋ช์ฃผ๊ฐ์ ์กฐ๊ธ ํน๋ณํ๊ฑธ ํด๋ณผ๊นํด์. ๋ฐ๋ก ์ฌํ๋ฆฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณผ๊น ํฉ๋๋ค๐๐ป ๊ทธ๋์ ๋จผ์ WWDC 20์์ Safari Web Extensions์ ๋ํด ๋ฐํ๊ฐ green1229.tistory.com ์ด๋ฒ ํฌ์คํ ์์๋ ์ฌํ๋ฆฌ ์น ์ต์คํ ์ ์์ด์ฝ์ ๋๋ ์๋ ๋์ค๋ ํ์ ๋ ๊พธ๋ฉฐ๋ณด๊ณ ์ค์ ๋ก ๊ธฐ๋ฅ๊น์ง ๋์ํ ์ ์..