1. 주어진 API의 JSON 구조에 맞게 JSONDecoder를 사용하여 원하는 타입으로 변환 후 뷰에 적용 2. 화면마다 또는 섹션마다 알맞은 스크롤 방향 설정 (Vertical / Horizontal)
현재 재생목록에 track 추가
설명
1. 재생을 원하는 곡을 선택하면 현재 재생목록 상단에 추가되고 재생 순서가 변경 됨 2. 현재 재생목록은 플레이어를 열어 확인 가능 3. CoreData를 활용해 앱을 종료하고 재실행하더라도 추가했던 Track의 정보가 유지
플레이어
플레이어
설명
1. 재생/일시정지 가능 및 재생 상태에 따른 UI 변경 (자켓 사진의 변화, 가사 미리보기) 2. 재생 시 가사보기 가능 3. 특정 트랙에 좋아요/좋아요 취소 (트랙에 대한 평가는 '보관함'에 적용 됨.) 4. 현재 재생목록에 있는 트랙의 재생 순서 변경 및 목록에서 제거 가능
발생한 이벤트 전송
사전에 정의 된 이벤트가 발생할 경우 필요한 정보를 담아 서버에 전송
인터넷 연결성을 확인하여 인터넷이 연결된 상태일 경우에는 바로 서버에 전송되고
연결 상태가 아닐 경우 Core Data에 임시 저장되어 있다 연결이 회복되었을 경우 네트워크에 전송
서버로 보내진 이벤트 로그 웹 Admin에서 확인하기
네트워크 연결 O
설명
1. 이벤트가 발생할 때 마다 실시간으로 서버에 이벤트 로그를 전송 2. 서버에 저장된 이벤트 로그를 불러와 출력하는 화면
네트워크 연결 X
설명
1. 이벤트가 발생할 때 네트워크에 연결되어 있다면 기기에 로그를 저장하지 않고 서버에 바로 전송하지만, 연결되어 있지 않다면 CoreData를 활용해 기기에 로그를 저장 2. 기기에 저장된 이벤트 로그를 불러와 출력하는 화면 3. 기기가 wifi를 통해 네트워크에 연결될 때 기기에 저장된 로그를 서버에 전송 4. 서버 로그 확인 화면을 통해 기기에 저장되었던 로그가 잘 전송된 것을 확인할 수 있음