ram2 ๐Ÿš—

[swift] R.swift ์„ค์น˜ํ•˜๊ธฐ ๋ณธ๋ฌธ

๐ŸŽ Swift

[swift] R.swift ์„ค์น˜ํ•˜๊ธฐ

coram22 2024. 2. 23. 22:06
728x90
๋ฐ˜์‘ํ˜•
728x90

์กธ์—…์ƒ ์„ ๋ฐฐ๋‹˜๊ณผ ์ง„ํ–‰ํ•˜๋Š” ์Šคํ„ฐ๋”” ์ค‘, ์ด์ œ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ์ ์šฉํ•  ์‹œ์ ์ด ๋˜์—ˆ๋‹ค.

๋ˆ„๊ฐ€ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ์ ์šฉํ•  ๊ฒƒ์ธ์ง€ ์—ญํ•  ๋ถ„๋ฐฐ๋ฅผ ํ•˜๋Š”๋ฐ, ์•„๋ฌด๋„ ๋‚˜์„œ์ง€ ์•Š์•˜๊ณ ,

๋‚˜๋Š” ์ด์ œ ๋™์•„๋ฆฌ ์ผ์ •๋„ ์–ด๋Š์ •๋„ ๋๋‚˜์„œ ์‹œ๊ฐ„์  ์—ฌ์œ ๊ฐ€ ๋น„๊ต์  ์žˆ์—ˆ๊ธฐ์— ๋‚ด๊ฐ€ ํ•˜๊ฒ ๋‹ค๊ณ  ํ–ˆ๋‹ค.

 

๋””์ž์ธ ์‹œ์Šคํ…œ. ๋‚ด๊ฐ€ ํ•ด์™”๋˜ ๋ฐฉ์‹๋Œ€๋กœ๋ผ๋ฉด ๊ทธ๋ ‡๊ฒŒ ์˜ค๋ž˜๊ฑธ๋ฆฌ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ•˜์ง€๋งŒ, ์Šคํ„ฐ๋”” ์žฅ ์„ ๋ฐฐ๋‹˜์€ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ถ”์ฒœํ•ด์ฃผ์…จ๋‹ค.

swift gem? ๋ญ๋ผ๊ณ  ํ•˜์…จ๋Š”๋ฐ, ์ž˜ ๊ธฐ์–ต์ด ์•ˆ๋‚œ๋‹ค.

 

๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์˜ค๋Š˜, ์Šฌ๋ž™ DM์œผ๋กœ ๊นƒํ—ˆ๋ธŒ ๋งํฌ๋ฅผ ํ•˜๋‚˜ ๋ณด๋‚ด์ฃผ์…จ๋‹ค.

ํ•œ์‹œ๊ฐ„ ๋ฐ˜์ •๋„ ์†Œ์š”ํ•˜์—ฌ ํ•œ๋ฒˆ ํ•ด๋ณด๋ผ๊ณ  ํ•˜์…จ๋‹ค.

๋ญ”๊ฐ€ ๋„์ „ ๊ณผ์ œ๋ฅผ ๋ฐ›์€ ๊ฒƒ ๊ฐ™์•„์„œ ์‚ด์ง ์„ค๋ œ๋‹ค.

 

์ง€๊ธˆ๋ถ€ํ„ฐ ๊ณต๋ถ€ ์‹œ-์ž‘ !!

 

https://github.com/mac-cain13/R.swift

 

GitHub - mac-cain13/R.swift: Strong typed, autocompleted resources like images, fonts and segues in Swift projects

Strong typed, autocompleted resources like images, fonts and segues in Swift projects - mac-cain13/R.swift

github.com

 

 

์ด ํŒจํ‚ค์ง€๋Š” ์ž๋™ ์™„์„ฑ์œผ๋กœ ์ด๋ฏธ์ง€, ํฐํŠธ, ์ƒ‰์ƒ ๋“ฑ์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€์ธ ๊ฒƒ ๊ฐ™๋‹ค.

๊ณต์‹ ๋ฌธ์„œ ์˜ˆ์‹œ๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด,

์ง€๊ธˆ๊นŒ์ง€ ์‚ฌ์šฉํ–ˆ๋˜ ๋ฐฉ์‹์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด,

let icon = UIImage(named: "settings-icon")
let font = UIFont(name: "San Francisco", size: 42)
let color = UIColor(named: "indicator highlight")
let viewController = CustomViewController(nibName: "CustomView", bundle: nil)
let string = String(format: NSLocalizedString("welcome.withName", comment: ""), locale: NSLocale.current, "Arthur Dent")

 

ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

let icon = R.image.settingsIcon()
let font = R.font.sanFrancisco(size: 42)
let color = R.color.indicatorHighlight()
let viewController = CustomViewController(nib: R.nib.customView)
let string = R.string.localizable.welcomeWithName("Arthur Dent")

 

์ด ํŒจํ‚ค์ง€๋Š” Mathijs Kadijk๋ผ๋Š” ๋ถ„์ด 2016๋…„์— ๋ฐœํ‘œํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ํƒ€์ž…๋“ค์„ ์ง€์›ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

์ž ๊ทธ๋Ÿผ ์ด์ œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด์ž!

 

์„ค์น˜ํ•˜๊ธฐ

1. ๋จผ์ € xcode์—์„œ Package Dependencies ํƒญ์— ๋“ค์–ด๊ฐ€ +๋ฅผ ํด๋ฆญํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ , github.com/mac-cain13/R.swift (์ด ๋งํฌ ์•„๋‹˜!! https://github.com/mac-cain13/R.swift.git <- ์ด๊ฒŒ ๋งž์•„์š” !!)

๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

 

https://github.com/mac-cain13/R.swift.git

์˜ค์ž‰ ๊ทผ๋ฐ ์•ˆ๋ณด์ธ๋‹ค. ํ ..

๋ฐ”๋กœ ์Šคํ„ฐ๋””์žฅ๋‹˜ํ•œํ…Œ ๋ฌผ์–ด๋ดค๋‹ค.

์ด๋Ÿฐ ์ฃผ์†Œ๊ฐ€ ์ž˜๋ชป ๋œ ๊ฒƒ์ด์—ˆ๋”ฐ..... ์ด๋Ÿฐ ๋ฐ”๋ณด.............

https://github.com/mac-cain13/R.swift.git ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์ž !!

 

add packages๋ฅผ ๋ˆŒ๋Ÿฌ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

 

2. ๋‹ค์Œ์œผ๋กœ ํƒ€๊นƒ-> general์„ ์„ ํƒํ•œ ๋’ค, Frameworks, Libraries, and Embeded Content ์„น์…˜์—์„œ + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ RswiftLibrary๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ผ๊ณ  ํ•œ๋‹ค.

๊ทผ๋ฐ package๋ฅผ ์ถ”๊ฐ€ํ•˜๋‹ˆ ์ด๋ฏธ ์žˆ์—ˆ๋‹ค !

 

3. ํƒ€๊นƒ์„ ์„ ํƒํ•˜๊ณ , "Build Phases" ํƒญ์—์„œ "Run Build Tool Plug-ins"๋ฅผ ์„ ํƒํ•œ ๋’ค + ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

RswiftGenerateInternalResources ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

 

 

์„ค์น˜ ๋!

์ด์ œ build๋ฅผ ํ•˜๋ฉด, trust ํ•  ๊ฒƒ์ธ์ง€ ์ฐฝ์ด ๋œจ๋Š”๋ฐ, trust ํ•˜๊ฒ ๋‹ค๊ณ  ํ•˜๋ฉด ๋œ๋‹ค !!

import ํ•ด๋ณด๋ฉด ์ž˜ ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค !

build๋„ ์ž˜ ๋œ๋‹ค ~!!!

 

 

R.swift ์‚ฌ์šฉํ•˜๊ธฐ

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ”„๋กœ์ ํŠธ ๋‚ด์˜ ๋ชจ๋“  Resource๋“ค์€ R.~~~๋กœ ํ˜ธ์ถœํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ ์ด์œ ๋Š”, R.generated.swift๊ฐ€ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ Resources๋ฅผ ์ฝ”๋“œ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

๋ฐ˜์‘ํ˜•

 

728x90
๋ฐ˜์‘ํ˜•