๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ/Swift

[iOS] ๊ณต๊ณต ๋ฐ์ดํ„ฐ API ์ด์šฉํ•˜๊ธฐ (Alamofire)

by yenios 2021. 8. 22.

๋ฐ”๋กœ ์•„๋ž˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์—ฌ๋Ÿฌ ํฌ์ŠคํŒ…๋“ค์„ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ํ•ด๋ณด๋Š” ์ค‘์ด๋‹ค.

import๊ฐ€ ๋‘๋ ค์šด ์ฝ”๋ฆฐ์ด...

ํ•˜์ง€๋งŒ Alamofire๋Š” ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ์ˆ™์ง€ํ•ด๋‘์–ด์•ผ ํ•œ๋‹ค!! ์•„์ขŒ์ขŒ!!

 

 

 

 

Seongmin's Portfolio Blog

Hi! I am Seongmin Choo and this is my portfolio website. UC Berkeley CS '21

www.seongmin.org

 

1. ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ ๊ฐ€์ž… ๋ฐ ํ•„์š”ํ•œ API ์‚ฌ์šฉ ์‹ ์ฒญ

 

 

API ์‚ฌ์šฉ ์‹ ์ฒญ์„ ํ•˜๋ฉด ์Šน์ธ ํ—ˆ๊ฐ€๊นŒ์ง€ ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.

 

 

 

๐Ÿ“ฑ๋„๋กœ๋ช…์ฃผ์†Œ API๋กœ ์‚ฌ์šฉํ•ด๋ณด๋Š” ๊ฐ„๋‹จ Alamofire๊ตฌํ˜„ (iOS APIํ†ต์‹ )

๋Œ€๋ถ€๋ถ„ RESTful APIํ†ต์‹ ์„ ์†Œ๊ฐœํ•˜๊ธฐ์œ„ํ•ด์„œ GithubAPI๋ฅผ ์˜ˆ์ œ๋กœ ํ™œ์šฉํ•˜์—ฌ ์†Œ๊ฐœํ•˜์ง€๋งŒ ์ด ํฌ์ŠคํŠธ์—์„œ๋Š” ๋„๋กœ๋ช… ์ฃผ์†Œ API๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. (์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ์— ๋งˆ์นจ ๋„๋กœ๋ช… ์ฃผ์†Œ API๋ฅผ ์‚ฌ์šฉํ•˜

macgongmon.club

 

 

 

๊ทธ๋ฆฌ๊ณ  ํฌ์ŠคํŠธ๋งจ์—์„œ ํ•ด๋‹น API์— ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ Get ์š”์ฒญํ•˜๋Š”๊ฑธ ์—ฐ์Šตํ•ด๋ดค๋‹ค.

์›น์œผ๋กœ๋„ ๊ฐ€๋Šฅํ•œ๋ฐ, desktop app์„ ์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

Postman API Platform | Sign Up for Free

Postman makes API development easy. Our platform offers the tools to simplify each step of the API building process and streamlines collaboration so you can create better APIs faster.

www.postman.com

 

 

 

2. Alamofire ์„ค์น˜

 

[iOS] Alamofire๋กœ API ํ˜ธ์ถœํ•˜๊ธฐ (+ CocoaPods ์‚ฌ์šฉ๋ฒ•)

๋‚˜๋Š” ์™ ๋งŒํ•˜๋ฉด ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์•ˆ ์“ฐ๊ณ  ๊ฐœ๋ฐœํ•˜๋ ค๋Š” ํŽธ์ธ๋ฐ ๋”ฑ ํ•œ๊ฐ€์ง€ ์˜ˆ์™ธ๋กœ ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์žˆ๋‹ค. ๊ทธ๊ฑด ๋ฐ”๋กœ Alamofire. API๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋Š” ์•ฑ์€ ๊ทนํžˆ ๋“œ๋ฌผ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•˜

furang-note.tistory.com

sudo gem install cocoapods
cd [ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ]
pod init
vi Podfile

Alamofire ์ถ”๊ฐ€ (๋ฒ„์ „์„ ์ƒ๋žตํ•ด์„œ ์ ์–ด๋„ ๋ฌด๋ฐฉ)

pod install

xcode ์ผœ๋†“๊ณ  Podfiled์„ ์„ค์น˜ํ•ด์„œ ํŠ€์–ด๋‚˜์˜จ ๊ฒฝ๊ณ ์™€ ํ”Œ๋žซํผ(ํ˜น์€ ๋ฒ„์ „)์— ๋Œ€ํ•ด ๋ช…์‹œํ•˜์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•œ ๊ฒฝ๊ณ 

 

 

 

 

Xcode์—์„œ Alamofire๋ฅผ importํ•˜๋ฉด ๋˜๋Š”๋ฐ

No such module 'Alamofire'๋ผ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋œฐ ๊ฒฝ์šฐ, xcode๋ฅผ ๋‹ซ๊ณ 

pod update๋ฅผ ํ•ด์ฃผ๊ณ  ๋‚˜์„œ xcode ํ”„๋กœ์ ํŠธ ํŒŒ์ผ(ํŒŒ๋ž€์ƒ‰ xcodeproj๋ง๊ณ , ํ•˜์–€์ƒ‰ xcworkspace ํŒŒ์ผ)์„ ๋‹ค์‹œ ์ผœ์ค€ ํ›„ ๋นŒ๋“œํ•˜๋ฉด ๋œ๋‹ค.

ํŒŒ๋ž€์ƒ‰ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜,

xcode๋ฅผ ๋‹ซ์ง€ ์•Š๊ณ  pod update๋ฅผ ํ•œ๋‹ค๋ฉด

๋ชจ๋“ˆ์„ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ๋˜ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค.

 

 

 

 

[iOS] Xcode "No such module" ์˜ค๋ฅ˜

ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์„ importํ•  ๋•Œ ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ(GoogleMapsUtils)์— ์ž๊พธ ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‹ˆ Podfile update๋ถ€ํ„ฐ ํ–ˆ๋Š”๋ฐ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๊ณ , ํ”„๋ ˆ์ž„์›Œํฌ ์„ค์น˜ ๊ฒฝ๋กœ๋ฅผ ๋ฐ”๊ฟ”๋ณด๋ผ

yeniful.tistory.com

 

 

 

 

 

3. Alamofire๋ฅผ ์ด์šฉํ•œ API ํ†ต์‹ 

 

 

 

 

 

๐Ÿ‘€ ์ฐธ๊ณ 

- Rest API์— ๋Œ€ํ•œ ์„ค๋ช…

 

[Network] REST๋ž€? REST API๋ž€? RESTful์ด๋ž€? - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

 

 

- ํ•ด๋‹น ๋ธ”๋กœ๊ทธ์—์„œ๋Š” pod์ด ์•„๋‹ˆ๋ผ SPM์œผ๋กœ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

 

[Swift] Alamofire๋ฅผ ์‚ฌ์šฉํ•ด๋ด…์‹œ๋‹น

์•ˆ๋…•ํ•˜์„ธ์š”! ์˜ค๋Š˜์€ ์•„์ฃผ ์œ ๋ช…ํ•œ ๋„คํŠธ์›Œํ‚น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Alamofire์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์ด์—์š”! Alamofire์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ , ์‚ฌ์šฉํ•ด๋ณด๋Š” ํฌ์ŠคํŒ…์„ ์ž‘์„ฑํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š” ์šฐ์„  Alamofire๋ž€..? HTTP ๋„คํŠธ์›Œํ‚น ๋ผ์ด

apple-apeach.tistory.com

 

 

 

- json ์‚ฌ์šฉ์„ ์‰ฝ๊ฒŒํ•ด์ฃผ๋Š” swiftyjson ์‚ฌ์šฉ

 

Swift์—์„œ Kakao rest API๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ํ•˜๊ธฐ

๋‚œ์ด๋„: โ˜…โ˜…โ˜…โ˜…โ˜†

donghoon.io

 

 

 

 

 

iOS - ๋ฏธ์„ธ๋จผ์ง€ ์ •๋ณด ์ œ๊ณต์•ฑ

1. ๊ฐœ๋ฐœ ๋ฐฐ๊ฒฝ APIํ†ต์‹ , ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•œ UI๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ์ˆ™๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ œ์ž‘ํ•˜๊ฒŒ๋œ ์•ฑ ํ™”๋ฉด ๊ตฌ์„ฑ์ด ์‹ฌํ”Œํ•˜๋ฉด์„œ๋„ ์œ ์šฉํ•˜๊ณ , API ํ†ต์‹ ์ด ๋“ค์–ด๊ฐ„ ๊ฒƒ์„ ์กฐ์‚ฌํ•˜๋‹ค๋ณด๋‹ˆ ๋ฏธ์„ธ๋จผ์ง€ ์ •๋ณด ์ œ๊ณต์•ฑ์„ ์„ ํƒํ•˜๊ฒŒ

hanaonezero.tistory.com

 

๋Œ“๊ธ€