Alamofire?
- 서버와 연동을 도와주는Swift 기반의 HTTP 네트워킹 라이브러리
- URLSession을 기반으로 하고 네트워킹 작업을 단순화하고 네트워킹을 위한 다양한 메서드와 JSON parsing등을 제공함
- 비슷한 기능을 하는 라이브러리는 SwiftJSON이 있음
주요 특징
- 연결 가능한 request ,response 메서드를 제공
- URL JSON 파라미터 형태의 인코딩을 지원함
- 파일, 데이터 등 업로드 기능을 제공
- HTTP Response 검증과 광범위한 단위 테스트및 통합테스트를 보장함
Swift 에서 URLSession을 지원하는데도 Alamofire를 사용하는 이유?
- 코드의 간소화, 가독성 측면에서 도움을 주고, 여러 기능을 구축하지 않아도 쉽게 사용할 수 있음
- URLSession은 호출할 API의 URL을 생성하고 쿼리 파라미터가 있다면 URL에 매핑시켜주는 코드를 작성해야하지만,
Alamofire는 요청을 생성할때 메서드 파라미터의 URL과 파라미터를 넘겨주면 내부에서 자동으로 URL의 파라미터를 매핑시켜줌
- 유효성 검사에도 URLSession은 response객체를 HTTPURLResponse로 다운 캐스팅하여 StatusCode프로퍼티에 접근해 200번대 인지 확인하는 코드를 직접 작성해야 하는 반면,
Alamofire는 validate 메서드를 호출하면 200번대 정상코드만 허용하게 만들어 줄 수 있음
Request
HTTP 메서드
(get/post/put/delete 주로 사용)
요청을 만들때 request 파라미터에 HTTP 메서드를 전달할 수 있음
Response
요청에 대한 응답을 Response 메서드를 이용해 핸들링함
응답이 완료되면 completionHandler가 호출이 됨
Response 메서드는 request 메서드를 체이닝 하여 사용됨
설치방법
Cocoapod으로 받을것임
먼저 터미널에 sudo gem install cocoapods 명령어를 이용해 다운받자
1. 프로젝트경로에 들어가서 pod init 명령어를 이용해 Podfile을 생성해 주자
2. Alamofire 깃허브에서 Cocoapods을 이용해 Podfile 안에 다음 명령어를 작성하면 라이브러리가 설치된다고 써져 있다.
vim Podfile //Podfile에 접근하는 명령어
Podfile에 접근한뒤 i를 눌러 아래 명령어를 적어준뒤 esc를 눌러 삽입을 해제하고 wq를 눌러 저장하고 마치자
3. pod install 명령어를 이용해 라이브러리를 설치하자
4. Cocoapods를 이용하여 라이브러리를 설치하게 되면 이전처럼 파일명.xcodeproj를 실행하는 것이 아닌
파일명.xcworkspace를 실행해주어야함
5. 이후 원하는 Viewcontroller로 가서 import Alamofire가 뜬다면 잘 설치 된 것이다.
'Swift랑 친해지기 > 라이브러리' 카테고리의 다른 글
[iOS] Then 라이브러리 (0) | 2023.08.30 |
---|---|
[URLSession, Alamofire] Naver Papago API 로 번역하기 (iOS) (0) | 2023.07.25 |
[라이브러리] Firebase Realtime Database / Cloud Firestore (0) | 2022.11.08 |
[iOS] Firebase Auth 사용해보기 (로그인/회원가입) (0) | 2022.11.04 |
[킹피셔] Kingfisher (Swift) (0) | 2022.07.10 |