RC 5th WEEK : 소셜로그인, Open API

YJ·2023년 1월 21일
0

라이징 캠프 13기

목록 보기
9/11
post-thumbnail

0. 5주차 수업 복습

Q1. 손님 - 홀알바 - 주방 - 스마트 시스템 - 냉장고 (비유) 에 대해서 실제 도구와 1:1 매칭해보기 (아키텍처이해)

우선, 서버란 → 통신 관련 서비스

손님 → Client

홀 알바 → Server

스마트 시스템 → DBMS
재료 → DB

주방 → 백엔드

Q2. HTTP Method의 종류는 어떤 것들이 있고 어떤 기능을 하는가?

5가지 기능

1) GET → 조회

2) POST → 생성, 데이터를 주로 보낼 때, 게시글을 작성할 때

가장 큰 예시로는 인스타스토리 작성, data→작성/ 회원가입, 휴대폰 번호, 이메일,….구조체 형태로 만들어서 보냄

3) DELETE → 삭제

4) PUT → 수정

5) PATCH → 일부 수정(ex) 사용자 닉네임 변경)

Q3. HTTP 통신을 위해 iOS에서 어떤 순서로 구현해야하는가?

API(Application Programming Interface)

데이터 보내는 방법

1) 쿼리 스트링

2) get/user/5 → REST API 형식

여기서 API란 응용프로그램 간에 데이터를 주고 받는 방법

통신 라이브러리에는 Alamofire, Moya가 있음

원래는 URL Session을 사용했는데 이게 코드가 너무 방대해서

개선 → Alamofire 이번주 과제에서 다방면으로 꼭 써봐야할 것

A) Header에 데이터를 넣어주는 방법

B) Body 방법 → JSON

[추가로 참고한 자료]

원래 내 수업에서 필기한 것과 그 외의 공부를 할 때 아래의 사이트를 참고했다

[RC] 5주차 개념 - Network Intro & API

이번주 과제

1) API 세개이상(카카오톡 로그인, 인기영화순위, 영화 관련 API 하나 더) , 데이터 파씽(오타,옵셔널 주의)

2) 라이브러리 사용(TABMAN,COCOAPOD)

1. 로그인 페이지 만들기

카카오에서 알려주는 카카오 로그인 페이지 만들기

카카오 로그인 삽질 많이 해보고 깨달은 점
공식문서 참고는 필수 -> 오류 -> 블로그 참고
API로 너무 많은 시간을 낭비할 수 있으니...

카카오 로그인 공식문서
Kakao Developers

[카카오 로그인 참고한 자료]

iOS 카카오 로그인 구현하기
[iOS] 카카오톡 소셜 로그인 연동
[iOS] 카카오 간편로그인
Swift 카카오 연동 로그인
Kakao Developers
카카오로그인 구현

[로그인 구현하면서 맞닥뜨렸던 오류들 해결책]

Swift 카카오 연동 로그인
Expected declaration
swift Thread 1 signal Sigabrt 에러 해결 방법
[iOS / Error] Unable to load contents of file list... 에러 해결

2. UI 만들기

이번 UI에서 가장 중요했더 부분 -> Tabman라이브러리 사용해보기

참고한 자료
How to implement Android-Like Tab Layouts in iOS using swift 3
Using Segues

3. API 다루기

3.1 영화 API 서비스

영화 주간 순위, 검색 API 받아온 사이트
영화진흥위원회 오픈API

데이터 파싱 관련
Postman - Sign In
[Swift] 06. JSON Parsing

데이터 파싱시 문제 생길 때 이용한 사이트
QuickType!!!!!!!
Instantly parse JSON in any language | quicktype

3.2 네이버 지도 API 사용하기

네이버 지도 API 구현하기

네이버 지도 API 구현 방법

네이버 지도 API 참고한 사이트

[Xcode] 네이버 지도 API 사용하기
[swift | ios] 네이버 지도 API로 현위치 트래킹, 마커 표시 해보기
Swift 현재 위치 받아오기 (위도, 경도)
지도에 마커찍기

네이버 지도 오류

Main thread warning with CLLocationManager.locationServicesEnabled()

gitlfs 제대로 설치 안 하면 네이버 맵 오류 나니까 잘 해결해야함
+충돌나서 xcode 깃허브에 커밋 안되는데 이 오류도 해결해야함

NMapsMap 네이버 맵 링크 에러

3.3 Tabman 라이브러리 사용하기

참고한 자료
[iOS/Swift] TabMan 라이브러리 사용하기 - (Custom tabbar / 상단 탭바 / 커스텀 탭바)
[iOS-opensource] tabman (상단탭)

[기타 오류]

Xcode Buildtime Error: 'Unable to load contents of file list: '.../Info.plist' (in target 'xxxx')
'Method' is ambiguous for type lookup in this context, Error in Alamofire
[swift] unrecognized selector sent to instance 오류
iOS 시작 가이드
Main thread warning with CLLocationManager.locationServicesEnabled()

이외에도 역대급으로 오류가 많았다
1) 카카오 로그인 API 결국 로그인 안되었던 이유 -> 뷰컨 지우고 다시 생성하니까 또 됨 왜 그런지 모르겠음 ㄹㅈㄷ 삽질이었음
2) 가져온 API 데이터 파싱할려고 다 분해해봤는데 enum, struct 다 적어주고 코드 오류도 없는데 뷰에 안 뜸 -> 네이버 지도 marker 안 뜸...ㅠ

4. 이번주 과제 피드백

구현한 점

상단 탭바 → tabman 라이브러리 사용

영화 API → 영화진흥위원회

카카오로그인 API

네이버 지도 API

구현 못한 점

네이버 지도 API MAKER가 안됨(코드 구현 다 해놨는데) 영화관 API 받아와서 할려고 했는데 데이터 파씽인지 뭔지 코드는 오류가 없는데 안됨
-> 여기 위치 API 이용했는데 마커는 꼭 구현하고 싶음 코드도 다 구현했는데...뷰에 안 뜨는게 너무 아쉬웠음....
https://data.gg.go.kr/portal/intro/develop/searchBulletinPage.do

깃에 프로젝트 안 올라감(내 잔디들...ㅠ) → giflfs 충돌 해결필요

구현한 시뮬레이터
이번주 과제 시뮬레이터

이번주 내 과제 보완할 점

1) 영화 검색 없을 때 → 검색 결과 없다는 뷰 띄어주기,초성검색 많이 하니까

2) 네이버 지도 마커 찍어보기(저도 너무 하고 싶어요ㅠㅠ)

3) 카카오톡 자동 로그인 해두기

4) 영화 상세정보 YYMMDD 이거 , 찍어서 구현하기

멘토님의 추천

1) MVVM 공부하기

2) View는 무조건 View만 띄우는 기능이 있어야 한다

3) Viewmodel 하나만 있어도 코드가 예뻐진다…

4) UI 꿀로 하기 좋은 연습

-가운데 데이터가 없는 경우가 있을 수 있으니 뺐을 때
두 개가 붙을 수 있도록

라벨을 동이 있는 위치로 올리기

-눌렀을 때 뷰가 확장되거나 ,없어진 자리를 매꾸거나

-stackview로 넣어서 데이터가 없는 경우 없애고 빈공간 매꾸기

5) 상세보기…

-상세보기 autoscroll,

-검색쪽까지 검색 → 네이버에서 제공하는 거랑

-좌표체계

위도,경도 Map 다룰 때

구성을 해놓고 들어가는 편

연습해두기

5. 라이징 테스트를 앞두고..

멘토님이 알려주셨던 꿀팁!
1) 일단 멘토님이 보충하라고 하셨던 거 보충해두기
(,찍기//상단 탭바//하단 탭바 커스텀//레이아웃//뷰//등등//)
2) 백엔드가 API 관련해서 만드는 동안 iOS는 최대한 뷰를 많이 만들어놔얗나다 -> 최대한 뷰 많이 만들어두기
3) 1일 1커밋...필수..!

여태까지 달렸으니 끝까지 포기하지 말고 꼭 수료하고 싶다...!
수료해서 제발로....CMC도 지원하고 싶고 더 다양한 경험해보고 싶다
끝까지 화이팅!!!!!!!!

profile
why not?!?!

0개의 댓글