본문 바로가기

카테고리 없음

[ios]저장공간 위젯 앱 Storage Widget - 개인 앱 개발 후기

0123

 

 

Storage Widget - 개인 앱 개발 후기

Storage Widget은 지금까지 1,050명 이상의 사용자에게 다운로드되고 있습니다. 혼자서 개발하고 출시한 이 앱을 만들면서 iOS 위젯, 다국어 지원, 광고 통합 등 많은 것을 배웠습니다. 개인 앱 개발을 생각 중인 분들께 도움이 될 경험담을 공유합니다.

앱의 기능

  • 메인 앱: 원형 프로그레스 바로 저장공간 시각화
  • 홈 화면 위젯: 소형, 중형, 대형 크기 지원
  • 잠금화면 위젯: iOS 16.1+ (원형, 직사각형, 인라인)
  • 다국어: 영어, 한국어, 일본어, 스페인어, 중국어

개발 기술

Swift + SwiftUI + UIKit 혼합, iOS 12.0+ 지원

  • SnapKit (오토레이아웃)
  • Google Mobile Ads SDK
  • SPIndicator (토스트 알림)

마주친 주요 문제들

1. UIKit과 SwiftUI 통합

기존 UIKit 코드는 유지하면서 UI만 SwiftUI로 만들고 싶었어요. UIHostingController를 사용해 두 프레임워크를 통합했습니다.

2. 저장공간 계산 정확성

사용자가 "다른 앱과 숫자가 다르다"고 지적했어요. iOS 11부터 저장공간 정의가 바뀌었다는 걸 알고, "Important 리소스용 용량" API로 통일했습니다.

3. 위젯 동기화

앱과 위젯은 별개 프로세스라 수동으로 동기화해야 해요. WidgetCenter.shared.reloadAllTimelines()를 새로고침, 포그라운드 진입, 앱 시작 시에 호출합니다.

4. UI 디자인

처음엔 기능만 중심으로 했는데, 사용자들이 디자인을 중요하게 생각했어요. CircularProgressBar에 그라데이션과 그림자 효과를 추가하면서 며칠을 투자했습니다.

5. iOS 16 잠금화면 위젯

홈 화면 위젯과 완전히 다른 구조예요. accessoryCircular, accessoryRectangular, accessoryInline은 iOS 16.1+ 전용입니다.

6. 광고 배치

처음엔 광고를 많이 띄웠는데 사용자 평가가 떨어졌어요. 배너는 하단, 전면 광고는 새로고침 후에만 표시하도록 변경했습니다.

7. 다국어 지원

5개 언어를 관리할 때 각 언어의 문자 길이와 레이아웃이 다르더라고요. 각 언어별 Localizable.strings 파일을 따로 관리합니다.

배운 것들

  • 디테일이 기능보다 중요 - 색상, 폰트, 여백이 사용자 만족도를 결정
  • iOS 버전 호환성 - iOS 12부터 지원하면 잠재 사용자가 훨씬 많음
  • 정확성은 기본 - 저장공간 앱이면 숫자가 가장 중요
  • 광고는 신중하게 - 수익보다 사용자 경험을 우선시해야 함
  • 실제 기기 테스트 필수 - 시뮬레이터와 다름, 특히 잠금화면 위젯은 기기에서만 가능

앱스토어 심사

좋았던 점: 3일 만에 첫 승인, 위젯 기능은 관대함

어려웠던 점: 광고 배치, 개인정보 보호 정책, 다국어 설명 (총 2주 소요)

마치며

간단해 보이는 저장공간 표시 앱도 정확한 계산, 좋은 UI, 다국어, 광고, 심사 등 많은 것들을 배웠습니다.

완벽한 앱을 목표로 하기보다는, 작은 것부터 시작해서 사용자 피드백을 받으면서 개선하는 방식이 가장 효과적이었습니다.

현재 Storage Widget은 1,000명 이상의 사용자들로부터 다운로드되고 있으며, 전 세계에서 피드백을 받고 있습니다. 이 경험이 다른 개인 개발자분들에게 영감이 되었으면 좋겠습니다. 함께 좋은 앱을 만들어봅시다!



App Store - Storage Widget

 

Storage Widget App - App Store

Download Storage Widget by geeyong yoon on the App Store. See screenshots, ratings and reviews, user tips, and more games like Storage Widget.

apps.apple.com