본문 바로가기

UIKit Project17

[날씨앱] 위치정보 뽀개기! 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.
[Tinder Clone] UITableView에서 Cell이 제대로 클릭되지 않을때 (Feat. 조유리) 최근에 Tinder앱을 코드 베이스로 클론하면서 UIKit을 연습하고 있다. (feat. 조유리) 유저 설정 화면을 TableView로 만들고 안에 TextField로 구성된 Cell을 넣었는데 아무리 눌러도 클릭이 되지 않았다. 확인해보기 위해 didSelectRowAt에 Print()를 넣었는데 Print문은 동작하였다. (눌렸다고 했지 textField가 작동한다고는 안했다...) DebugView를 보니 cell위에 알 수 없는 결계가 있어서 이게 막는것 같았다. Description에 UITableViewCellContentView..? 바로 검색해보았다. 공식문서를 찾아보니 UITableViewCell에 contentView에 관한 내용이 있었다. 그랬구나.. Cell의 contentView에.. 2023. 6. 7.