
RxDataSource Update1분만 알람앱 프로젝트에서 알람을 수정해도 UI가 업데이트 되지 않는 버그가 발생했다.문제의 원인을 분석하고 해결을 해보자.1분만 앱의 알람 탭에서는 새로운 알람을 추가할 수도 있고, 기존의 알람을 수정할 수도 있다.이 중 알람을 수정

CustomFont이번 프로젝트에서는 별도의 폰트를 사용하기 때문에 프로젝트에 폰트를 추가하고, 이를 편히 사용할 수 있도록 메소드를 구현해보자.프로젝트에 커스텀 폰트를 추가하기 위해서는 우선 폰트 파일을 프로젝트에 삽입해 주어야 한다.이 때, 폰트 파일의 형식은 ot
private(set)이란?private(set)과 메소드 디스패치오늘은 private(set)이 프로그램에서 어떻게 작동하는지 알아보고, 메소드 디스패치에서 어떤 영역에 속하며 메모리에 어떤 영향을 주는지 알아보도록 하자.private(set)은 Swift의 접근 제

XCTestXCTest를 사용해보기 위해 공부하다가 마주한 TDD라는 개념에 대해 정리를 해보려고 한다.TestDrivenDevelopment(TDD)는 소프트웨어 개발 방법론으로, 테스트를 먼저 작성하고 그 테스트를 통과하기 위한 코드를 작성하는 방식이다.이는 높은
StoreKit애플은 인앱 리뷰 요청에 대해 엄격한 정책을 적용하고 있다. 정책을 준수하지 않으면 앱 리뷰에서 거부당할 수도 있다는데... 이에 대한 자세한 내용을 공부해보자.StoreKit은 애플이 제공하는 프레임워크로, 앱 내에서 구매 관련 기능을 구현할 수 있도록

Lottie최종프로젝트의 런치스크린에 애니메이션을 추가하기 위해 Lottie라이브러리를 활용하는 방법을 알아보자Lottie는 애니메이션을 효율적으로 앱과 웹에 통합하기 위한 오픈소스 라이브러리이다. Adobe After Effects로 제작한 애니메이션을 JSON 형식
RxSwiftUITextField를 RxSwift를 활용하여 사용하다가 텍스트필드의 변경이 감지되지 않는 문제가 발생했다.이를 해결하는 과정을 정리해 보려고 한다.최종 프로젝트를 진행하며 RxSwift를 사용하여 UITextField의 값 변경을 감지하는 과정에서 값이
CALayerCAGradientLayer를 이용해서 UIView에 그라디언트를 적용했지만, UIView.animate()를 통해 뷰의 크기가 변경될 때 그라디언트가 정상적으로 애니메이션 되지 않는 문제가 발생했다.이를 분석하고 해결해보자UIView의 크기를 UIView
extension reactive오늘은 extension Reactive이 무엇인지, 어떻게 사용하는지에 대해 정리해보려고 한다.RxSwift 패키지 내부를 살펴보면 Reactive.swift라는 파일이 존재한다. 이는 constrained protocol extens

Driver와 SignalRxCocoa를 사용하면서 Driver와 Signal을 많이 사용했는데, 정작 둘의 차이는 잘 모른 채로 사용했던 것 같다.오늘은 둘의 역할과 차이를 명확히 공부하여 앞으로 어떤 상황에서 어떤 trait을 사용하는 것이 옳은지 알아보려고 한다.
앱스토어 스크린샷 등록앱스토어에 앱을 출시할 때 가장 중요한 요소 중 하나가 바로 스크린샷이다.스크린샷은 사용자가 앱을 다운로드하기 전에 가장 먼저 접하는 콘텐츠이기 때문에, 사용자의 시선을 사로잡고 앱의 핵심 기능을 효과적으로 전달하는 것이 중요하다.앱스토어에서는 다
PrivacyInfoApple은 개인정보 보호 강화를 위해 PrivacyInfo.xcprivacy 파일을 도입했다. 2024년 5월 1일부터 AppStore에 앱을 제출하려면 특정 API를 사용할 경우 이에 대한 이유를 명시해야 한다.이번에는 PrivacyInfo의 개

Memory Leak오늘은 최종 프로젝트를 진행하며 Instrument를 사용하여 메모리릭을 발견하고 해결한 과정을 간단히 작성해 보려고 한다.Memory Leak이란 더이상 필요하지 않은 메모리를 해제하지 않고 계속 유지하는 상황을 말한다.이는 앱의 메모리 사용량이