반응형

전체 글 36

애플 개발자 계정 자동 갱신 해지 후기

구글 플레이 콘솔과 달리 애플은 1년마다 갱신이 필요하다는 사실, iOS 개발자라면 다들 알고 계실 겁니다.이제 곧 갱신 기간이 다가오는데, 당분간 iOS 프로젝트 계획이 없어서 자동 갱신을 꺼두기로 결정했습니다.그런데 막상 해지하려고 보니 자동 갱신 해지하는 메뉴를 찾기가 어려웠습니다. # 도대체 어디 있는 거야? 해지 버튼 찾기 대작전분명 설정 어디엔가 '자동 결제 해지' 버튼이 있을 거라 생각하고 개발자 사이트 메뉴를 뒤져보았습니다.하지만 해지 관련 메뉴는 보이지 않았습니다.혹시 나만 못 찾는 건가 싶어서 예전 블로그 글들까지 싹 다 검색해 보았습니다.결국 애플 개발자 지원센터 연락처를 알아내서 전화를 걸어봤는데, 돌아오는 건 developer.apple.com/contact 사이트를 통해 문의하라..

기타 2026.06.23

안드로이드 16KB 페이지 대응 시, 어떤 SO 파일을 교체해야 하는지 확인하는 방법

최근 안드로이드 16KB 페이지 대응 작업을 진행하면서 겪었던 상황을 정리합니다. 프로젝트에서 네이티브 라이브러리(.so)를 사용하고 있다면, 해당 라이브러리들이 16KB 정렬(Align 0x4000)로 빌드된 최신 버전인지 확인해야 합니다. Android Studio의 Analyze APK 기능이나 IDE 우측 하단 경고창을 통해 어떤 .so 파일이 16KB 대응이 되지 않았는지 쉽게 확인할 수 있습니다. 그런데 작업 도중에 컴퓨터를 교체하게 되었고, 동일한 소스코드와 동일한 Android Studio 버전을 사용했음에도 불구하고 새로운 환경에서는 16KB 관련 경고가 전혀 보이지 않는 문제가 발생했습니다.IDE가 알려주지 않으니 어떤 .so 파일을 교체해야 하는지 알 수 없었고, 결국 직접 APK를 ..

Android 2025.11.20

안드로이드 프로젝트 개발에서 놓치기 쉬운 포인트

1. 폰트 크기 정책 (고정 vs 가변)Jetpack Compose의 Text는 기본적으로 sp 단위를 사용하며, 이는 사용자 디바이스의 설정(글자 크기)에 따라 자동으로 크기가 조정됩니다.따라서 프로젝트 초기에 고정 크기 폰트를 사용할 것인지, 가변 크기 폰트를 사용할 것인지를 명확히 결정하는 것이 중요합니다.가변 크기 폰트- 사용자 접근성(가독성) 향상에 적합합니다.- 사용자가 시스템 글자 크기를 확대하거나 축소했을 때, UI가 그에 맞게 반응하여 더 많은 사용자에게 편리한 경험을 제공합니다.- 적합 사례: 일반적인 서비스 앱, 뉴스/콘텐츠 앱, 사용자 맞춤성을 강조하는 서비스 등고정 크기 폰트디자인의 일관성과 정확한 레이아웃 유지가 중요한 경우 사용합니다.예를 들어, 텍스트 크기가 조금이라도 달라..

회고 2025.09.08

처음 해본 Kotlin Multiplatform 프로젝트, 배포후기

플레이스토어https://play.google.com/store/apps/details?id=com.kmp.movie 무비인포 - Google Play 앱영화정보를 검색할 수 있습니다play.google.com 앱스토어https://apps.apple.com/us/app/%EB%AC%B4%EB%B9%84%EC%9D%B8%ED%8F%AC/id6747981296 ‎무비인포‎무비인포 앱 첫 출시! 보고 싶은 영화, 지금 바로 한 번에 찾으세요.apps.apple.com 프로젝트 배경안드로이드 개발에서 Jetpack Compose를 활용하던 중, Kotlin Multiplatform(KMP) 을 사용하면 실제로 어느 범위까지 개발과 배포가 가능할지 궁금증이 생겼습니다.이를 검증하기 위해 영화 정보를 제공하는..

회고 2025.08.24

드로이드 나이츠 2025 후기

https://www.droidknights.dev/ 지난 6월 17일, 회사의 지원으로 드로이드 나이츠 행사에 다녀왔습니다.벌써 두 달이 지났지만, 간단히 후기를 남겨보려 합니다. 작년에 이어 두 번째로 참석한 행사였는데, 이번에도 많은 안드로이드 개발자들이 한자리에 모였습니다.특히, 전체적인 흐름을 보니 안드로이드 UI 개발 패러다임이 기존 XML 방식에서 Compose UI로 빠르게 전환되고 있음을 실감할 수 있었습니다.이제는 단순히 컴포넌트를 사용하는 수준을 넘어서, Compose 내부 구조와 동작 원리까지 깊이 이해하는 것이 중요하다는 생각을 강하게 하게 되었습니다.또한, 최근 폭발적으로 성장하고 있는 AI 기술을 모바일 개발에 어떻게 접목할 수 있을지에 대한 고민도 생겼습니다.발표자들의 세션을..

세미나 2025.08.23

[오픈소스 배포] JetpackCompose LoadingBar

프로젝트 개요Jetpack Compose를 기반으로 Android 앱을 개발하면서, 기본 제공되는 CircularProgressIndicator 외에도 다양한 스타일의 로딩 컴포넌트가 필요하다고 느끼게 되었습니다.이에 따라, 커스터마이징이 가능한 Compose 기반 로딩 스피너 컴포넌트들을 직접 구현하고 오픈소스로 배포하게 되었습니다.주요 기능현재 총 4가지 스타일의 로딩 스피너를 제공합니다CircularLoadingSpinnerSquareSpinnerDotLoadingSpinnerDotRippleSpinner각 컴포넌트는 색상, 크기, 애니메이션 속도 등 다양한 속성을 통해, 원하는 스타일에 맞게 커스터마이징 할 수 있습니다. 사용 방법1. Gradle 의존성 추가dependencies { implem..

오픈소스 배포 2025.04.01

[Kotlin Multiplatform] 2. KMP 프로젝트 생성

Kotlin Multiplatform (KMP) 프로젝트는 단일 코드베이스에서 Android, iOS, Desktop, Web, 그리고 Server 플랫폼을 지원하는 모듈형 아키텍처를 갖추고 있습니다.이를 통해 공통 비즈니스 로직을 공유하면서도, 각 플랫폼에 최적화된 UI 및 기능을 독립적으로 구현할 수 있습니다.이번 글에서는 Android와 iOS를 포함하는 KMP 프로젝트를 생성하는 방법을 소개하겠습니다. 1. 프로젝트 생성KMP 프로젝트는 아래 사이트에서 만들 수 있으며, 최근 업데이트로 안드로이드 스튜디오에서도 프로젝트 생성 단계에서 바로 Kotlin Multiplatform 템플릿을 선택해 생성할 수 있습니다. https://kmp.jetbrains.com/ Kotlin Multiplatform..

사이드 프로젝트 회고

프로젝트 참여 배경이전까지 진행한 사이드 프로젝트는 주로 개인적으로 특정 주제를 기반으로 앱을 개발하거나 새로운 기술을 익히는 방식이었습니다.하지만 이번 프로젝트에서는 다른 직군과의 협업 경험을 쌓는 것을 목표로 팀에 합류했습니다.개발자, 디자이너, PM 등 다양한 직무의 팀원들과 함께하며 역할 분담과 의사소통의 중요성을 직접 경험하고, 팀원들과 협력해 더 나은 결과물을 만들어가는 과정을 배우고자 했습니다.프로젝트 소개스터디나 사이드 프로젝트를 진행할 때, 초기 모집 단계에서 지원자에 대한 정보가 부족하여 프로젝트가 중도에 종료되는 문제가 자주 발생합니다. 이 플랫폼은 이러한 문제를 해결하고자 기획되었습니다.핵심 아이디어: 프로젝트 시작 단계부터 지원자의 상세 정보를 공유(나이, 성향, 선호 시간대, 선..

회고 2025.01.01

[Kotlin Multiplatform] 1. kdoctor 세팅

Kotlin Multiplatform 을 시작하기 위해서는  1. 필요한 프로그램1. Android Studio 설치2. JDK3. Xcode 설치4. Kotlin Multiplatform 플러그인 설치 (Android Studio) 을 설치해줘야 합니다. (아래 링크 참고) https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-setup.html#install-the-necessary-tools Set up an environment | Kotlin Multiplatform Development www.jetbrains.com 2. kdoctor 설치kdoctor을 설치하면 Android Studio, Xcode 등이 잘 설치가 되..

반응형