본문 바로가기

UIKit Project/UIKit Troubleshooting13

[날씨앱] CoreLocation 2탄 기상청 주간 날씨 현재 주소를 연동해서 API 호출하기..! CLGeocoder, CLPlacemark 메인 뷰의 오늘 날씨 구성을 마무리하고 주간 날씨도 만들어주기 위해 기상청 중기예보를 보았습니다! 제 생각에는 테이블뷰를 이용해서 1. 일주일간의 날짜 2. 기상 상태를 아이콘으로 3. 비가 온다면 강수확률을 아이콘 밑에 4. 최저 기온 5. 최대 기온 6. 최저, 최대 기온을 그래프로 표현 하려고 했습니다! 당연히 주간 데이터가 같이 있겠지~ 하고 문서를 찾아봤는데 중기육상예보조회에서는 주간 기상 상태를, 중기기온조회에서는 주간 최저, 최고 기온을 각각 따로 제공해주고 있어서 하나의 테이블뷰에 두 개의 API를 연동해야 했습니다..! 역시 쉬운일이 없쥬.. 그리고 하나 더 해야할 일이 생겼습니다! 오늘날씨 같은 경우에는 CLLocation으로 현재 유저의 좌표를 가져온 뒤, 기상청 자체 기준에 따라 x.. 2023. 7. 17.
[날씨앱] 기상청 API 미묘하게 안 맞는 날씨..? 원인은 다른 곳에 있었습니다! 기상청 단기예보 조회서비스 위,경도를 기상청 x,y 좌표로 변환하기 순조롭게 날씨앱을 신나게 만들어가고 있는데요! 사용자의 좌표를 가져와서 기상청 API 호출도 잘 되고, 뷰모델도 잘 만들어지고~하는데 한가지..마음에 걸리는게 있었습니다. 분명히 사용자의 위치는 정확하게 가져오고 있는것을 확인했는데 다른 날씨앱들과 비교하거나, 심지어 같은 데이터인 기상청 앱과 비교해도 제 앱만 이상하게도 미묘하게 온도가 2,3도 낮은것이었습니다..! 왼쪽은 기상청 날씨앱, 오른쪽 제가 만들고 있는 날씨앱입니다! 위치정보는 정확하게 받아오고, 비가 오는것도 같지만 이상하게 2도 낮습니다..! (기상청 날씨앱을 처음 깔아봤는데 날씨데이터를 업데이트 되는 과정에서 몇 번 꺼졌던 경험이 있어서 조금 불편했습니다! 제가 더 잘 만들어볼게요!) 이걸로 다른 기상청 API도 여러가지 써봤는데도 같은.. 2023. 7. 16.
[날씨앱] 위치정보 뽀개기! CoreLocation을 활용해 유저의 현재 좌표, 위치 구하기, CLGeocoder를 활용해서 지역명 가져오기, background에서 위치정보 활용하기 날씨앱을 만들면서 필수적으로 해야한다고 생각했던 것이 유저의 위치를 파악하고, 파악한 해당 위치의 좌표를 활용해 기상청 API에 데이터를 요청하고, 앱에 사용자의 현재 장소를 표시해주려고 하는데요 그러기 위해서는 CoreLocation을 사용해보았습니다! 제대로 사용해보는건 처음이라서 시행착오도 조금 있었지만 잘 작동하는 것 같아 정리해보려 합니다! https://developer.apple.com/documentation/corelocation Core Location | Apple Developer Documentation Obtain the geographic location and orientation of a device. developer.apple.com https://developer.ap.. 2023. 6. 29.
[날씨앱] 날씨 데이터를 찾아서..기상청 API 사용하기, 네트워크 오류 해결 (MVVM, URLSession, JSONDecoder) 저번에 Apple WeatherKit에 이어 정확한 날씨데이터를 찾기 위해 data.go.kr에 접속하거나, API를 호출했는데 며칠동안 접속도 안되고 API도 묵묵부답이었습니다... 설마하는 마음으로 폰으로 테더링을 하니 접속도 잘 되고 API 요청도 잘 됐습니다! 아무래도 저희 집 네트워크 IP에 문제가 있는 것 같은데 사이트에 문의를 해도 IP 차단같은건 하지 않았다고 하셔서 원인을 모르겠네요.. 그래서 얼마 없는 데이터를 아껴가면서 API를 호출하고 앱을 만들고 있습니다! 처음 사용한 데이터는 기상청 단기예보 조회 서비스입니다! 초단기예보, 단기예보 등이 있는데 제가 만들고 있는 날씨앱은 오늘 하루 날씨를 확인하고, 비가 온다면 우산을 챙기라는 알림을 보내주려고 생각하고 있기 때문에 그날 하루 날.. 2023. 6. 21.
[날씨앱] 정확한 날씨 데이터를 찾아서... (Apple WeatherKit) 예전부터 아이폰을 오래 써왔지만 마음에 드는 날씨앱이 없어서 나중에 앱개발을 하게 되면 만들어봐야지~하고 생각하고 있다가 UIKit 개일 프로젝트를 날씨 앱으로 만들어보게 되었습니다! UIKit에 mvvm아키텍처, SnapKit과 Then을 사용해서 코드베이스로 UI를 만들어보고, RxSwift를 활용해 비동기 처리를 하려고 합니다! 여러 고민이 있었지만 날씨앱에서 가장 중요한! 날씨 API를 뭐를 사용할까 하다가 1. 기상청 2. WeatherKit 이렇게 두 개로 좁혔습니다. WeatherKit은 개발자 계정이 있어야 사용가능한데, 저는 이미 부트캠핑을 배포하면서 개발자 계정에 가입된 상태라 사용활 수 있었습니다! (공식 홈페이지) https://developer.apple.com/kr/weather.. 2023. 6. 15.
[TinderClone] 코드 재사용성 높이기 (Custom Class, Protocol, Extension) 최근에 UIKit으로 틴더 앱 클론 프로젝트를 했습니다! 외부 라이브러리 없이 CodeBase로 UI를 구성했는데 TextField 만들때 중복되는 코드가 많아서 어떻게 줄일까 생각하다가 Custom Class를 만들어서 사용하기로 했습니다.! 이렇게 placeHolder와 비밀번호 입력 여부 정도가 달랐는데요 커스텀 클래스로 만들고 두개를 파라미터로 넣어서 하나의 함수로 만들어 보았습니다. 이렇게 만들어주고, 비밀번호는 기본 값을 false로 줘서 필요할때 true를 입력하도록 했습니다! 그리고 사용할때는 파라미터에 값만 넣어주면! 쨘~ 잘 만들어 졌습니다. 그리고 다른 프로젝트에서 간단한 애니메이션 함수를 만들었는데 extension을 하나씩 해야 하더라구요.. 그래서 일단은 저렇게 돌아가는 것만 확.. 2023. 6. 14.