๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’š ๊ฐœ๋ฐœ/iOS

[iOS] iOS ์ •์ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ…Œ์ŠคํŠธ์•ฑ์— ์—ฐ๊ฒฐํ•˜๊ธฐ

by devshin.kr 2021. 3. 16.
728x90

๋‚˜๋„ ์ง€๋‚œ์ฃผ์— ๊ณต๋ถ€ํ•˜๋ฉฐ ์บก์ฒ˜ํ•œ ๊ฑฐ๋ผ ๊ฐ€์žฅ ์•„๋ž˜์— ํŒ์ด๋ผ๋ฉด ํŒ์„ ์ถ”๊ฐ€ํ–ˆ์Œ...
๋‚ด ๊ธฐ์ค€์—์„œ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์—ˆ์Œ....


์ •์ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋งŒ๋“ค๊ธฐ
1) Create a new Xcode project



2) Static Library > Next



3) Product Name, Language > Next



4) ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ์ด ๋จ



5) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํด๋” ์šฐํด๋ฆญ > New File… > C File


6) Name ์ž…๋ ฅ



7) Targets



8) Header file๊ณผ C file ์ด ์ƒ์„ฑ๋œ๋‹ค. ํ•ด๋‹น C ์ฝ”๋“œ์— ํ…Œ์ŠคํŠธ ํ•จ์ˆ˜๋ฅผ ์ ๋Š”๋‹ค.



9) Header file์— ํ…Œ์ŠคํŠธ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ํ—ค๋”๋ฅผ ๋„ฃ๋Š”๋‹ค.



10) โ–ถ ์„ ๋ˆŒ๋Ÿฌ ๋นŒ๋“œํ•œ๋‹ค. (command + b ๋ฅผ ๋ˆŒ๋Ÿฌ๋„ ๋œ๋‹ค.)



11) libTest.a ๊ฐ€ ์ƒ์„ฑ๋๋‹ค.



12) File > New > Project…



13) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ…Œ์ŠคํŠธํ•  ํ…Œ์ŠคํŠธ์•ฑ์„ ๋งŒ๋“ ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ์ƒ์„ฑ๋จ




14) ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ Header File์„ ํด๋” ์•„๋ž˜๋กœ ์ด๋™ํ•œ๋‹ค.




15) Destination: Copy items if needed ์ฒดํฌ




16) Products > libTestLib.a > ์šฐํด๋ฆญ > Show in Finder




17) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋“œ๋ž˜๊ทธ์•ค๋“œ๋กญ์œผ๋กœ ํ•ด๋‹น ํ…Œ์ŠคํŠธ ์•ฑ ํด๋” ๋Œ๊ณ  ์˜จ๋‹ค




18) Destination: Copy items if needed ์ฒดํฌ
Add to targets : ํ…Œ์ŠคํŠธ ์•ฑ ์ด๋ฆ„




19) ←→์„ ํด๋ฆญํ•ด ํ™”๋ฉด์„ ๋ถ„ํ• 






20) + ๋ฅผ ํด๋ฆญํ•ด ์•„๋ž˜ Views ๋ชฉ๋ก์„ ๋„์šด๋‹ค > Button ํด๋ฆญ




21) Button ๊ธฐ๋Šฅ ๋ชฉ๋ก ์ค‘์—์„œ Touch Down ์„ ํด๋ฆญ ํ›„ ๋“œ๋ž˜๊ทธ ์•ค ์ฝ”๋“œ์—์„œ ๋“œ๋กญ




22) Name ์— ํ•ด๋‹น ๋ฒ„ํŠผ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ •ํ•ด์คŒ






23) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋œจ๋Š” ๊ฒŒ ๋‹น์—ฐ. ์•„์ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฉฐ ํ—ค๋”๋ฉฐ ์—ฐ๊ฒฐ์„ ์•ˆ ํ•ด์คฌ๊ธฐ ๋•Œ๋ฌธ



์Šค์ƒท ์ฐ์€ ํ›„์— ์•Œ๊ฒŒ ๋œ ๊ฑด๋ฐ.. swift ๋ฌธ๋ฒ•์„ ๋ชฐ๋ž๊ธฐ ๋•Œ๋ฌธ์—.
์ €๋ ‡๊ฒŒ ๋˜๋ฉด ๋ณ€์ˆ˜ a์™€ b๋ฅผ ์ดˆ๊ธฐํ™”๋งŒ ํ•ด ์ฃผ๊ณ  ์•„๋ž˜์—์„œ ๋”ฐ๋กœ ๊ฐ’์„ ์ฃผ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด warning ์ •๋„๊ฐ€ ๋œฌ๋‹ค. -> ํ•ด๊ฒฐ : ์ž๋ฃŒํ˜•์„ var์—์„œ let์œผ๋กœ ๋ฐ”๊พผ๋‹ค. (๋ญ.. ๊ตณ์ด ๋ฐ”๊พธ์ง€ ์•Š์•„๋„ ๋  ๋“ฏ)





24) Library Search Paths์— ์ •์ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(.a)๊ฐ€ ์žˆ๋Š” ํด๋”๋ฅผ ๋งํฌํ•ด ์ค€๋‹ค.




25) Header Search Paths์— header file์ด ์œ„์น˜ํ•œ ํด๋”๋ฅผ ๋งํฌํ•ด ์ค€๋‹ค.




26) TestApp > ์šฐํด๋ฆญ > New File > Header File




27) (ํ”„๋กœ์ ํŠธ๋ช…)-Bridging-Header.h ๋งŒ๋“ค์–ด์ฃผ๊ณ ,




28) Header File์„ include ํ•ด์ค€๋‹ค.




29) Objective-C Bridging Header์— ์œ„์—์„œ ๋งŒ๋“  ํ—ค๋”ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ๋งํฌํ•ด ์ค€๋‹ค.




30) โ–ถ ๋ˆ„๋ฅด๋ฉด Build Succeeded ๊ฐ€ ๋จ




31) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ๋ˆ๋‹ค.




32) Console ์ฐฝ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ
(์ฝ”๋“œ๋ฅผ ์•„์ฃผ ์กฐ๊ธˆ ์ˆ˜์ •ํ•ด ์ฃผ์—ˆ๋‹ค.. ์ž๋ฃŒํ˜•์ด๋ž‘ print ์ถœ๋ ฅ๋ฌธ….)






l ํ›„์— ์•Œ๊ฒŒ ๋œ ๊ฒƒ์ธ๋ฐ…
1. header file ์ด ๋งŽ๋‹ค๋ฉด include ํด๋”์™€ ๊ฐ™์€ ๊ฒƒ์„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฒฝ๋กœ๋ฅผ ์žก์•„์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. Library๋„ ๋งˆ์ฐฌ๊ฐ€์ง€.
2. Build Settings ํŽ˜์ด์ง€๋ฅผ ์—ด๋ ค๋ฉด… ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ๋”๋ธ”ํด๋ฆญ ํ•˜๋ฉด ๋œ๋‹ค.

 

๋Œ“๊ธ€