최고의 개발자가 되는 지름길

iOS FCM 푸시 알림 — 동작 원리부터 권한 타이밍까지 컨트롤하기
·
SWIFT개발일지
서버에서 Silent Push 기능을 추가하기로 했어요. 물론 이전에도 해봤는데, 문서화를 안 했더니 기억이 하나도 안 나더라고요 😅 그래서 이번엔 제대로 정리해보기로 했습니다.먼저 설정부터1. APNs 인증 키 (.p8) 발급Apple Developer 콘솔에서 발급해요.Apple Developer → Certificates, Identifiers & Profiles→ Keys → + 버튼→ Apple Push Notifications service (APNs) 체크→ 다운로드 (한 번만 가능, 잘 보관).p8 파일과 함께 Key ID, Team ID를 메모해둬야 해요. Firebase 등록할 때 필요합니다2. Firebase 콘솔에 APNs 키 등록여기서 파이어베이스 콘솔에서 클라우드 메시징에 들어..
TCA Dependency는 어떻게 동작하는지 정확하게 설명할수 있는 사람
·
SWIFT개발일지
TCA로 개발하다가 모듈화를 시작했습니다.근데 바로 막혔어요.liveValue를 어느 모듈에 두지? App? Domain? Data?기존에는 App 모듈에 다 몰아넣고, App이 Data 레이어의 구현체까지 전부 알고 있었거든요. 근데 모듈을 나누니까 그게 안 되잖아요. LiveLoginRepository를 App이 직접 들고 있으면 모듈 분리가 의미가 없고, 그렇다고 Domain에 두자니 Domain이 구현체를 알면 안 되고....😅흠...근데..나 Dependency 뭐 어떻게 동작하는지 100% 남한테 설명할정도로 이해하고 있나?????-> 그래서 일단 모듈화는 잠깐 미뤄두고, Dependency 자체를 먼저 파보기로 했습니다.기존 방식들은 어떤 문제가 있었나TCA가 왜 이런 구조를 선택했는지 이..
Tuist를 공부해야하지 마음을 먹고 ABI부터 공부하기
·
iOS
최근 회사에서 모듈화를 진행하고 있습니다. 그런데 tuist도 제대로 모르면서 모듈화라뇨.. 신입인 저에겐 공부해야할게 산더미군요 기존 프로젝트는 레이어별 모듈화로 이루어져 있었습니다. App, Domain, Core, Util. 구조 자체는 깔끔해 보였어요. 그런데 프로젝트가 점점 커지면서 문제가 슬슬 보이기 시작했습니다. 빌드 속도가 말도 안되게 느려졌습니다.Home 화면 버튼 하나를 수정했을 뿐인데, Domain 220개 파일과 Core 154개 파일이 전부 다시 컴파일되는 거예요. 레이어별 모듈화의 구조적 문제입니다. 한 레이어의 어느 파일이 바뀌면, 그 레이어에 의존하는 모든 것이 다시 컴파일되어야 합니다. 주변의 도움도 받고 그러다보니 자연스럽게 이런 이야기가 나오기 시작했습니다."이제 Fe..
Swift 6 Concurrency Q&A 정리: isolation부터 Sendable까지
·
iOS
오랜만에 글 쓰네요 날씨가 따듯해지면서 오늘은 좋은 카페에 와서 글을 써요 오늘의 카페 추천은합정에 있는 콤파일입니다.어두컴컴하고 아주 제 취향이더라고요. (주말 2시간 컷은 너무하긴하네요)암튼 오늘은 오랜만에 swift에 대해 재밌는 Q&A 영상 올라와서 정리해보려고요:)Apple 엔지니어들이 직접 나와서 Swift Concurrency 관련 질문들에 답해주는 영상인데, 실제로 헷갈렸던 것들이 꽤 많이 해소됐어요. Swift 6로 넘어오면서 data race 검사가 빡세지면서 경고 폭탄을 맞은 분들도 많을 것 같아서, 제가 정리한 내용 같이 공유해봐요 :)isolation 이란?Swift Concurrency에서 가장 먼저 이해해야 할 개념이 있어요. 바로 isolation입니다.isolation(격리..
SwiftUI TabView 오버레이가 iOS 26에서 안 맞는 이유
·
SWIFT개발일지
iOS 18의 전체 뷰 트리를 그리면 다음과 같습니다.iOS 26에서 Liquid Glass가 도입되면서, 한 가지 궁금증이 생겼습니다.“SwiftUI의 TabView는 여전히 UITabBarController를 쓰고 있을까?”공식문서를 찾았지만 나와있지 않아 LLDB로 직접 확인했습니다!!문제의 시작: TabView 위에 터치 오버레이를 올리고 싶었다특정 탭을 눌렀을 때 실제 전환 대신 바텀 시트를 띄우고 싶었습니다.그래서 기존에는 이런 방식으로 처리했습니다:화면 너비 ÷ 탭 개수로 위치 계산투명 View를 올려 터치 가로채기탭 전환 대신 원하는 액션을 실행👉 iOS 18까지는 문제없이 동작 그런데 iOS 26에서는 완전히 깨졌어요이제 탭바는 화면 하단을 가득 채우지 않고, 중앙에 떠 있는 플로팅 형..