ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [iOS] Cocoapods ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•
    iOS 2023. 5. 30. 16:03

    ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Cocoapods ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ• ๊ฒŒ์š”!

     

     

     

     

    ๋จผ์ € Cocoapods๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?

    ๊ณต์‹๋ฌธ์„œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์™€์žˆ์–ด์š”!

     

     


    Cocoapods๋Š” Swift์™€ Objective-C Cocoa ํ”„๋กœ์ ํŠธ์˜ ์ข…์† ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค.

    84000๊ฐœ๊ฐ€ ๋„˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ง€๋ฉฐ, 3๋ฐฑ๋งŒ ๊ฐœ ์ด์ƒ์˜ ์•ฑ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    Cocoapods๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์šฐ์•„ํ•˜๊ฒŒ ํ™•์žฅํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


     

    ์ฝ”์ฝ”์•„ํŒŸ์€ ๋ง ๊ทธ๋Œ€๋กœ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ๋ชจ๋“ˆ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

     

     

    ๋จผ์ € Cocoapods๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ์„ค์น˜ํ•ด์ฃผ์–ด์•ผํ•ด์š”.

    ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•ด๋ด…์‹œ๋‹ค.

     

    command + ์ŠคํŽ˜์ด์Šค๋ฐ”๋ฅผ ๋ˆ„๋ฅด๊ณ  terminal์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

     

     

    ๋˜๋Š” ์ด๋ ‡๊ฒŒ Launchpad์˜ ๊ธฐํƒ€ ํด๋”์— ๊ฐ€์„œ ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.

     

     

     

     

    ๋จผ์ € ์„ค์น˜๋ฅผ ์œ„ํ•ด์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

    ๊ทธ๋Ÿฌ๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ผ๊ณ  ๋‚˜์˜ค๋Š”๋ฐ, ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋งฅ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

     

    sudo gem install cocoapods



    ๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ผ๊ณ  ๋‚˜์˜ค๋Š”๋ฐ, ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋งฅ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


     

     

     

     

     

    ์‚ฌ์ง„์ฒ˜๋Ÿผ Successfully installed cocoapods ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜ค๋ฉด ์„ค์น˜ ์™„๋ฃŒ์ž…๋‹ˆ๋‹ค.

    ์ €๋Š” ์‚ฌ์‹ค ์ด๋ฏธ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•ด์„œ ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ๋‚˜์˜ค๋Š”๋ฐ, ์ฒ˜์Œ ์„ค์น˜ํ•˜์‹œ๋Š”๊ฑฐ๋ผ๋ฉด ๋ญ๊ฐ€ ์—„์ฒญ ๋งŽ์ด ๋œฐ๊ฑฐ์—์š”!

     

     

     

     

    ๊ทธ๋Ÿผ ์ด์ œ ์ฝ”์ฝ”์•„ํŒŸ์„ ์‚ฌ์šฉํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”.

    ํ„ฐ๋ฏธ๋„์„ ํ†ตํ•ด์„œ ์ฝ”์ฝ”์•„ํŒŸ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ํ”„๋กœ์ ํŠธ ํด๋”๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”!

     

    ํ„ฐ๋ฏธ๋„์—์„œ ํด๋”๋ฅผ ์ด๋™ํ•  ๋•Œ์—๋Š” cd ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

     

    cd ํด๋”์ด๋ฆ„

     

    ์ €๋Š” Example ํด๋” ๋‚ด์— Example์ด๋ผ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์–ด์š”.

    ์ด ํ”„๋กœ์ ํŠธ์—์„œ ์ฝ”์ฝ”์•„ํŒŸ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ• ๊ฑฐ์—์š”.

     

    ๊ทธ๋ฆฌ๊ณ  ํด๋” ๋‚ด์— ์–ด๋–ค ๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ls ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด๋ณผ๊ฒŒ์š”.

     

     

    ์ง€๊ธˆ ์ด ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” Example, Example.xcodeproj์˜ 2๊ฐœ์˜ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ์ƒํƒœ์—์š”.

     

     

    ์ด์ œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

     

    pod init

     

     

    ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ํ•œ๋ฒˆ ls ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ์ด ๋””๋ ‰ํ† ๋ฆฌ์— ๋ญ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”.

    Podfile์ด ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”!

     

     

     

    ํ„ฐ๋ฏธ๋„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ง์ ‘ ํด๋”์—์„œ๋„ ์ด๋ ‡๊ฒŒ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

     

     

    Podfile์„ ์ˆ˜์ •ํ•˜๋ฉด ์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”๋ฐ,

    ํŽธ์ง‘๊ธฐ๋ฅผ ์—ด์–ด์„œ Podfile์„ ์ˆ˜์ •ํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”!

    ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

     

    vi Podfile



    *** ์ฐธ๊ณ ๋กœ vi ์™ธ์—

    nano Podfile

    open -e Podfile

    ์ด ๋‘ ๋ช…๋ น์–ด๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!

     

     

    ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œน๋‹ˆ๋‹ค. ์ด์ œ Podfile์„ ํŽธ์ง‘ํ•ด์ฃผ๋„๋ก ํ• ๊ฒŒ์š”.

    ์—ฌ๊ธฐ์„œ ๋ฐ”๋กœ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ˆ˜์ •์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์ง€๊ธˆ์€ ์ฝ๊ธฐ ๋ชจ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์ด์—์š”.

     

     

    ๊ทธ๋ž˜์„œ ์ฝ๊ธฐ ๋ชจ๋“œ์—์„œ ์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

    ํ‚ค๋ณด๋“œ์—์„œ i๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฐ”๋กœ ์“ฐ๊ธฐ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

    ๊ฐ€์žฅ ๋ฐ‘์— INSERT๋ผ๊ณ  ๋‚˜์˜ค๋Š”๊ฑฐ ๋ณด์ด์‹œ์ฃ ?! ์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์–ด์š”!

     

     

     

    #Pods for Example ์•„๋ž˜์— pod '๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋ฆ„'์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

    ์ €๋Š” Alamofire ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฐ›์•„๋ณด๋„๋ก ํ• ๊ฒŒ์š”.

     

    pod 'Moya',  '~> 15.0'

     

     

     

     

    ์ž…๋ ฅ์„ ํ–ˆ์œผ๋‹ˆ, ์ด์ œ ์ €์žฅ์„ ํ•ด์•ผํ•ด์š”.

    ESC ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  wq!๋ฅผ ์ž…๋ ฅํ•œ ํ›„, ์—”ํ„ฐ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ํŽธ์ง‘๊ธฐ๋ฅผ ์ข…๋ฃŒํ• ๊ฒŒ์š”.

     

     

     

    ๊ทธ๋Ÿผ ๋‹ค์‹œ ์•„๊นŒ์˜ ํ„ฐ๋ฏธ๋„ ์ฐฝ์œผ๋กœ ๋Œ์•„์˜ต๋‹ˆ๋‹ค.

     

     

    ์ด์ œ ์•„๊นŒ ์ž…๋ ฅํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”!

    ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

     

     

    pod install

     

     

    ๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค!

     

     

     

    ํ„ฐ๋ฏธ๋„ ์ฐฝ์— ์ดˆ๋ก์ƒ‰์œผ๋กœ ์จ์žˆ๋Š” ๋ฉ”์‹œ์ง€ ๋ณด์ด์‹œ๋‚˜์š”?

     

    ์ด๋Ÿฐ ๋ฉ”์‹œ์ง€๊ฐ€ ์ ํ˜€์žˆ์–ด์š”.

     

    [!] Please close any current Xcode sessions and use 'Example.xcworkspace' for this project from now on.

     

     

    ํ˜„์žฌ์˜ Xcode ์„ธ์…˜์„ ์ข…๋ฃŒํ•˜๊ณ , ์ด์ œ๋ถ€ํ„ฐ๋Š” Example.xcworkspace์—์„œ ์ž‘์—…์„ ํ•ด๋‹ฌ๋ผ๊ณ  ๋‚˜์™€์žˆ์–ด์š”.

    Example ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ํด๋”๋กœ ๊ฐ€๋ณผ๊ฒŒ์š”.

     

     

     

    ์•„๊นŒ๋Š” ์—†๋˜ Example.xcworkspace๊ฐ€ ์ƒˆ๋กœ ์ถ”๊ฐ€๋˜์—ˆ์–ด์š”.

    ์•„๊นŒ ์„ค์น˜ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Example.xcworkspace์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

     

     

    ๋ฌผ๋ก  import๊นŒ์ง€ ํ•ด์ฃผ์…”์•ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

    ์—ฌ๊ธฐ๊นŒ์ง€ Cocoapods ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ๋ฒ•์ด์—ˆ์Šต๋‹ˆ๋‹ค!

    ๋Œ“๊ธ€

Designed by Tistory.