CustomNetflix
NetFlix의 URL을 활용한 넷플릭스 영상 추천 앱 CustomNetflix
사용 기술 및 라이브러리
- Swift, iOS
- URLSession, AVFoundation
개발 일지 (역순)
201007
searchAPI class – Searchterm 구현
URLSession관련 componenets, query Item 등 URL관련 프로퍼티 구현
– search Bar 키보드 표시 관련 dismissKeyboard 함수 구현
– searchTerm – URLSession protocol을 활용한 Data 연동 테스트 -> 검색어 잘 전달되어 내려오는 것을 확인
– 지난 Networking 때 사용한 iTunes URL을 활용해 Test code 작성 (https://github.com/YongJinLeee/networking/blob/main/URLSession_class.playground/Contents.swift)
let session = URLSession(configuration: .default)
var urlComponents = URLComponents(string: "https://itunes.apple.com/search?")!
let mediaQuery = URLQueryItem(name: "media", value: "music")
let entityQuery = URLQueryItem(name: "entity", value: "song")
let termQuery = URLQueryItem(name: "term", value: term)
urlComponents.queryItems?.append(mediaQuery)
urlComponents.queryItems?.append(entityQuery)
urlComponents.queryItems?.append(termQuery)
let requestURL = urlComponents.url!
let dataTask = session.dataTask(with: requestURL) { data, response, error in
let successRange = 200..<300
// error 테스트 코드
guard error == nil, let statusCode = (response as? HTTPURLResponse)?.statusCode,
successRange.contains(statusCode) else {
print("Error Code: \(successRange)")
completion([])
return
}
guard let resultData = data else {
completion([])
return
}
//data -> [Movie]
let string = String(data: resultData, encoding: .utf8)
print("search URL Operation Test : \(string)")
// completion([Movie])
// Test 후 Movie 구조체에 맞게 데이터 받아오도록 Codable 함수 작성
}
dataTask.resume()
}
}
211006
Netfilx와 유사한 형태의 tap Bar 화면을 구현하고 가장 먼저 URL 테스트를 진행해야 하므로 searchBar 구현