iOS
-
Mach-O 파일 구조 분석해보며 최적화 해보기iOS 2025. 9. 13. 10:03
안녕하세요. 그린입니다 🍏이번 포스팅은 iOS 앱의 Mach-O 파일 구조를 깊이 분석하고, 실제 앱 크기를 줄이는 최적화 방법들을 알아보겠습니다 🙋🏻Mach-O Deep Dive개발하면서 이런 궁금증 가져본 적 있지 않나요?"내 앱이 왜 이렇게 크지? 🤔""App Store Connect에서 보는 앱 크기 리포트는 뭘 의미하는 거지?""Universal Binary와 일반 바이너리의 차이가 뭐야?""링크 타임에 뭐가 일어나고 있는 건가?" 바로 이런 의문들을 해결할 수 있는 것이 Mach-O 파일 구조를 이해하는 것입니다.iOS의 모든 실행 파일은 Mach-O 포맷으로 되어 있고, 이 구조를 이해하면 앱 크기 최적화의 핵심을 파악할 수 있어요. Why Mach-O Architecture Matt..
-
App Battery DrainiOS 2025. 8. 9. 09:44
안녕하세요. 그린입니다 🍏이번 포스팅은 iOS 앱의 배터리 드레인 문제를 해결하는 방법에 대해 알아보겠습니다 🙋🏻iOS Battery Drain Solutions Deep Dive이런 경험 있으신가요?앱을 출시한 후 앱스토어 리뷰나 사용자 피드백에서,"이 앱 쓰고 나서 배터리가 금방 없어져요 😡""백그라운드에서 계속 뭔가 하고 있는 것 같아요""핸드폰이 뜨거워져요"또는 iOS 설정 → 배터리에서 여러분의 앱이 배터리 사용량 상위권에 올라가 있는 상황 말이에요 😱이런 문제들은 단순히 사용자 불편함을 넘어서서 앱 삭제와 직결되는 심각한 이슈입니다.특히 iOS 12부터 배터리 사용량 화면이 더 상세해지면서 사용자들이 "범인" 앱을 쉽게 찾을 수 있게 되었거든요.Why Battery Matters Mo..
-
Diet for iOS App size (feat. App Thinning)iOS 2025. 8. 2. 07:56
안녕하세요. 그린입니다 🍏이번 포스팅은 iOS 앱 크기를 효과적으로 줄이는 방법에 대해 정리해보겠습니다 🙋🏻iOS App Size Optimization Deep Dive앱스토어에 앱을 올리고 나서 이런 생각 해보신 적 있나요? "어? 내 앱이 200MB가 넘어가네? 사용자들이 셀룰러로 다운로드 못 받겠는데..." 😱 또는 리뷰에서 이런 피드백을 받아보신 적이 있을 거예요."앱 용량이 너무 커요""다운로드가 오래 걸려요""저장공간을 너무 많이 차지해요" 앱 크기가 큰 것은 단순히 사용자 경험만의 문제가 아닙니다.다운로드 전환율, 사용자 유지율, 그리고 궁극적으로는 비즈니스 성과에 직접적인 영향을 미치죠. Why App Size Matters?📱 사용자 다운로드 행동 분석한 Google의 연구에서..
-
Meet PaperKit (feat. WWDC 2025)iOS 2025. 6. 25. 18:30
안녕하세요. 그린입니다 🍏이번 포스팅에서는 WWDC 2025에서 나온 PaperKit에 대해 알아보겠습니다 🙋🏻개인적으로 재밌는 프레임워크가 나온것 같아서 가장 먼저 정리해보려고 했습니다 😃 Introduction PaperKit은 애플의 독특한 마크업 경험을 시스템 전반에 구현하는 프레임워크입니다.Notes, Screenshots, QuickLook, Journal과 같은 애플의 기본 앱에서 사용되고 있습니다.PaperKit은 도형, 이미지, 텍스트 박스 등 다양한 마크업 요소를 추가하고 그림을 그릴 수 있는 캔버스를 제공해줘요. macOS Tahoe의 새로운 기능인 PaperKit은 동일한 마크업 환경을 제공해 모든 macOS 앱에서 그림 그리기 및 마크업 요소가 잘 동작합니다. 그럼 조금..
-
Logger Caching & PerformanceiOS 2025. 6. 4. 13:15
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Logger 캐싱과 성능에 대해 한번 정리해볼까 합니다 🙋🏻Logger Caching & PerformanceiOS 개발에서 os.Logger를 포함한 로깅 시스템은 앱 진단 및 디버깅에 있어서 핵심적인 역할을 해줍니다. 하지만, 혹시 Logger 인스턴스를 매번 새로 생성하고 있지는 않으신가요? 이번 포스팅에서는 그것을 중심으로 Logger 인스턴스 캐싱이 왜 필요하고 실제로 어떤 성능 차이가 있는지에 대해 한번 분석해보면서 정리해봅니다 😃 Logger를 매번 새로 만든다면?Apple은 iOS 14부터 os.Logger API를 도입하면서 기존의 os_log 기반 로깅을 더 정돈된 방식으로 관리할 수 있게 발전했습니다.이 Logger는 단순한 구조체지만..
-
Lottie vs WebP AnimationiOS 2025. 5. 28. 18:44
안녕하세요. 그린입니다 🍏이번 포스팅에서는 iOS 앱에서 애니메이션을 표현할 때 사용하는 Lottie와 WebP의 성능 차이와 선택 기준들에 대해 정리해보려고 합니다 🙋🏻애니메이션 포맷 선택, 왜 중요할까?모바일 앱에서 애니메이션은 UI/UX를 풍부하게 만드는 핵심 요소입니다.하지만 성능, 용량, 디코딩 방식, 구현 편의성 등의 요소에 따라 포맷 선택은 앱의 사용자 경험과 직결됩니다. 그래서 이번 포스팅에서는 iOS에서 많이 사용하는 Lottie와 WebP 애니메이션을 비교하고, 실제 앱에 적용할 때 고려할 성능적 측면을 집중적으로 다뤄보겠습니다 💡 Lottie vs WebP 애니메이션 포맷 비교포맷타입압축CPU 사용량메모리 사용량재생 유연성용량장점단점LottieJSON벡터벡터 압축낮음매우 낮음자..
-
Server Image Format (feat. JPG, PNG, WebP)iOS 2025. 5. 23. 12:16
안녕하세요. 그린입니다 🍏이번 포스팅에서는 앱에서 서버 이미지를 받아올때 서버 이미지 포맷의 차이와 선택 기준들에 대해 한번 정리해보려고 합니다 🙋🏻Server Image Format모바일 앱에서 이미지는 사용자 경험에 큰 영향을 끼칠 정도로 아주 중요합니다.특히나 서버에서 내려받는 이미지 포맷은 앱의 성능, 용량, 로딩 속도에 직결되기 때문에 그 특성의 차이를 이해하고 상황에 따른 최적의 포맷을 선택하는것이 중요합니다. 그렇기에 본문에서 대표적으로 JPG, PNG, WebP의 차이를 알아보며 각 케이스마다 장단점들을 살펴보겠습니다 😃 Image Format Preview포맷압축 방식투명도 지원애니메이션 지원용량품질 손실특징JPG손실 압축XX적음O사진에 적합PNG무손실 압축OX큼X아이콘, 로고 등..
-
AVCaptureVideoPreviewLayeriOS 2025. 4. 18. 08:51
안녕하세요. 그린입니다 🍏이번 포스팅에서는 AVCaptureVideoPreviewLayer에 대해 정리해보겠습니다 🙋🏻 AVCaptureVideoPreviewLayer?AVCaptureVideoPreviewLayer는 Apple의 AVFoundation 프레임워크에서 제공하는 클래스에요.해당 레이어는 AVCaptureSession을 통해서 들어오는 실시간 비디오 데이터를 화면에 보여주는 역할을 해줍니다. 우리 앱에서 새로운 카드나 파일을 스캔할때 카메라를 켜서 자동으로 인식하게 해주는 기능 이제는 많아져서 익히 아실거에요.그것들이 이 AVCaptureVideoPreviewLayer을 기반으로 만들어진다고 볼 수 있습니다. 여기서 AVCaptureVideoPreviewLayer는 CALayer의 서브..