본문 바로가기

ios25

[날씨의 i] WidgetKit 5탄! - iOS17에서 변경된 사항 적용하기 (2.1 버전 업데이트 완료!) 안녕하세요! 날씨의 i를 출시하고, 벌써 7번째 업데이트를 했는데요, 2.1버전 업데이트 과정을 공유하려 합니다. 최근에 아이폰 15 플러스로 폰을 바꾸고 대 만족하며 즐겁게 사용하고 있었는데요! 한 가지 스트레스 받는 일이 발생했습니다! 즐겁게 폰을 세팅하면서 날씨의 i를 다운받고, 위젯을 설치했는데요! 음..? 이상하게 양쪽 사진이 잘리는 현상을 발견해서 부랴부랴 핫픽스를 하게 되었습니다! 알고보니 iOS17로 업데이트되면서 위젯API가 변경이 되었었고, 기존 코드를 수정하게 되었습니다! 역시 iOS16을 쓰던 아이폰 11에서 폰을 바꿔서 다행이지 영영 모를 뻔 했는데 다행입니다ㅎㅎ 처음에는 위젯 API가 변경된 지 모르고 단순히 패딩이나 프레임 문제일거라고 생각했습니다. 그런데 기존 코드에서 Geo.. 2023. 11. 10.
[SwiftUI 스터디] UIViewRepresentable: SwiftUI에 UIKit 뷰 연동! https://developer.apple.com/documentation/swiftui/uiviewrepresentable UIViewRepresentable | Apple Developer Documentation A wrapper for a UIKit view that you use to integrate that view into your SwiftUI view hierarchy. developer.apple.com 이전에 SwiftUI 프로젝트를 할때 이미지를 확대하고 스크롤하는 기능을 넣고 싶었는데 SwiftUI의 MagnificationGesture()가 저희가 일반적으로 사용하는 사진 확대 후 시점이동이 안되서 고민하던 중 UIKit의 뷰를 SwiftUI에 적용할 수 있는 UIViewRep.. 2023. 10. 15.
[SwiftUI 스터디] Combine, URLSession, dataTaskPublisher를 활용해 Github 유저 프로필 가져오기 안녕하세요~! 요즘 즐겁게 SwiftUI 스터디를 하고 있는데요ㅎㅎ 이번주는 뭘 공부할까 하다가 날씨의 i 2.0 업데이트에서 WidgetKit을 처음 적용할때 컴바인을 활용했었는데 위젯이 업데이트될때 새로운 데이터를 받아오지 못하는 이슈가 있었습니다. 결국 기존에 익숙하게 사용하던 URLSession으로 리팩토링해서 업데이트 했던 생각이 나서 이번엔 SwiftUI에서 Combine을 활용해 데이터를 받아오는 연습을 해보려 합니다. 연습하기 좋을 API가 뭐가 있을까 하다가 개발자라면 항상 사용하는 깃허브 API를 활용해 화면에 그려보자! 생각하게 되었습니다. 우선 제 아이디로 깃허브 API를 검색해보니 이렇게 잘 나오는 모습을 볼 수 있었습니다! 이 JSON을 참고해 간단하게 앱에서 사용한 모델을 만들.. 2023. 9. 23.
[날씨의 i] 쌓여가는 앱 용량..realm 데이터와 iOS 데이터 확인하고 임시파일 삭제하기 (Realm CRUD, RealmStudio, iOS FileManager, tmp) 위젯을 모두 완성하고..! 즐거운 마음으로 2.0 업데이트를 신청하려 하는데 앱 용량이 궁금해서 확인해보니 400MB..?였습니다?? 그렇게 큰 앱이 아닌데 이상하다..해서 내부를 살펴봤습니다. 앱 용량은 익스텐션을 3개나 활용해서 이전보다 늘어났을 수 있다고 해도 문서 및 데이터가 52.6MB..?로 생각보다 많이 데이터가 있었습니다. 위젯을 개발하면서 테스트하기 위해 여러 사진을 설정했었는데 그 사진들이 지워지지 않고 앱 안에 쌓여있나..? 해서 새로운 사진을 몇 장 설정해보았습니다. 그랬더니 이렇게 바로바로 용량이 쌓이고 있었습니다ㅎㅎ realm에서 업데이트할때 기존의 사진을 대체하는 메소드를 만들어서 사진이 한 장씩 계속 바뀐다고 생각했는데 잘 못 만들었나..? 생각하며 코드를 다시 확인했습니다... 2023. 9. 18.
[날씨의 i] 첫 WidgetKit 도전..! 험난했던 시작 (WidgetKit 추가와 AppGroup설정, UserDefaults로 데이터 공유) 안녕하세요! 최근에 날씨의 i를 출시하고 소소한 기능 개선과 버그 픽스를 하며 보냈습니다:) 완성하고 어느정도 업데이트로 앱이 안정되다보니 조금 느슨해져서 뭘 할까..하다가 SwiftUI 스터디에 가입하고 오랜만에 SwiftUI를 해보자! 마음먹었습니다ㅎㅎ 초기에 날씨앱을 만들자고 생각할때 위젯은 필수로 있어야 된다고 생각했었는데요 UIKit 위주로 만들다 보니 SwiftUI만 사용해야하는 위젯킷은 왠지 뒤로 계속 미루었던거 같네요ㅠㅠ 오랜만에 하는 SwiftUI.. 재미있겠다! 하고 WidgetKit을 추가하는 순간 제가 알던 SwiftUI가 아니라 이상한 코드들이 있어서 멘붕에 빠졌습니다. 덕분에 일주일동안 공식문서부터 차근차근 시작해 위젯킷을 공부하고, SwiftUI도 복습하고, 다양한 시행착오를 .. 2023. 9. 10.
[날씨의 i] 날씨의 i 1.0 앱스토어 출시! (날씨 알림앱, 아이폰 날씨앱, 기상청 날씨앱) 다시 한번 심사를 제출하고 하루종일 기다리고 기다리던 메일이 도착했습니다! 설레는 마음으로 메일을 열어보니..! 쨘~! 드디어 오랜 역경을 딛고 앱스토어에 정식 출시했습니다~! 와~! UIKit으로, 개인 프로젝트로 앱을 출시하니 더 기쁘고 뿌듯한 것 같네요! 앞으로도 꾸준히 업데이트 해보겠습니다ㅎㅎ 참 그리고 혹시 data.go.kr의 API를 사용하신 분들은 운영계정 신청을 꼭 해주세요! 서비스 URL, 앱 캡쳐화면, 대표썸네일 등을 등록하고 개발 계정에서 운영 계정으로 변경 신청하면 이렇게 일일 트래픽을 늘릴 수 있습니다! 일일 트래픽이 부족해서 더 늘리는 그날까지 화이팅~! 날씨의 i 가 궁금하신 분들은 방문해주세요~! 앱스토어: https://bit.ly/AppStore_WeatherI GitH.. 2023. 8. 11.