개발하는거북이 어플 만들었어요

2025/03 4

[iOS] 딥 링킹 환경에서 콘솔 출력하기

개요종종 딥 링킹 등을 통해 외부 환경에서 앱을 실행하고, 그에 따른 결과를 디버깅해야 할 때가 있다.그러나 기본적으로 XCode에서는 앱 빌드 → 실행 프로세스를 통해서만 XCode 디버깅 모드와 연결되며, 이후 어플리케이션 종료 시 해당 연결이 끊기게 된다.즉, 일반적으로는 외부 환경에서 어플리케이션 실행 시 XCode가 이를 감지하지 못해, 콘솔 출력을 포함한 디버깅이 불가능하다.어떻게 문제를 해결할 수 있을 지에 대해 알아보자. 해결책1. Launch Option 변경Launch Option을 확인하면, 처음에는 ‘Automatically’로 설정되어 있을 것이다. 이를 ‘Wait for the executable to be launched’로 변경한다.해당 옵션으로 변경 시 CMD + R 이후 ..

앱 개발/iOS 2025.03.25

[iOS] 원격 푸시 알림 정리: FCM, APNs

개요이전에 React Native를 이용해 크로스플랫폼으로 어플을 제작한 경험이 있는데, 이 때는 FCM(Firebase Cloud Messaging) 서비스를 통해 원격 푸시 알림을 구현했었다. 누군가가 나를 초대했을 때 어플에 접속 중이 아니더라도 알림을 보여주어, 유저 리텐션 높이기에 긍정적인 영향을 주었던 기억이 난다.최근 회사에서는 네이티브 개발을 하면서 똑같이 원격 푸시 알림을 구현하는 업무를 맡게 되었는데, 네이티브의 경우 내가 알던 방식과 구현 방식이 살짝 달랐다.네이티브로 개발 시에는 어떤 방식으로 원격 푸시 알림을 구현할 수 있는지에 대해 조사해 보았다. 푸시 알림의 종류원격 푸시 알림에 대해 알아보기에 앞서, 먼저 푸시 알림의 종류에는 어떤 것들이 있는지부터 알아보자.푸시 알림은 ‘트..

앱 개발/iOS 2025.03.25

[GitHub] Issue의 개념, Issue 템플릿 생성하기

GitHub에는 협업을 돕기 위한 다양한 기능들이 있으며, 그 중 하나가 바로 Issue 기능이다.일반적으로 Issue는 ‘문제점’으로 번역되지만, 실제로는 단순한 버그 신고뿐만 아니라 기능 개발, 작업 요청, 개선 제안 등 개발과 관련된 다양한 항목을 관리하는 데 범용적으로 사용된다. 이러한 관리를 통해 프로젝트를 더욱 체계적으로 관리할 수 있다.이번 글에서는 실제 개발 과정에서 Issue를 어떻게 효과적으로 활용할 수 있는지, 그리고 Issue를 보다 간편하게 생성할 수 있도록 도와주는 Issue 템플릿 기능에 대해 알아보고자 한다.GitHub Issue란?GitHub Issue는 GitHub 저장소(repository)에서 작업 항목을 추적하고 협업하기 위한 도구이다. 작업 항목이라고 한다면, 버그..

GitHub 2025.03.23

[iOS] 생애주기 및 AppDelegate, SceneDelegate의 역할

개요iOS에서의 앱 생명주기는, iOS 13 전후로 작동 방식이 다르다.iOS 13부터는 앱 하나를 여러 개의 창으로 띄우는 멀티 윈도우 기능을 지원하게 되면서 생명주기 관리 방식이 기존보다 더 세분화되었으며, 이에 따라 앱의 생명주기 관리 구조 역시 변경되었다.앱 생명주기에 대해 설명하고 멀티 윈도우 도입 전후의 차이점을 비교하여, 실제로 이를 어떻게 핸들링할 수 있는지 설명하고자 한다. 목차앱의 상태 및 생명주기멀티 윈도우 도입에 따른 변화iOS 13 이전과 이후 변화된 생명주기 관리 방식iOS 13 이전과 이후, 생명주기를 고려한 iOS 호환성을 유지하는 방법 앱의 상태 및 생명주기앱의 생명주기란, 앱의 상태가 전환되는 일련의 과정을 말한다. 앱 상태의 경우 크게는 세 가지, 더 세분화된다면 다섯 ..

앱 개발/iOS 2025.03.10