[Swift] 앱 인텐트 알아보기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 App Intents 프레임워크에 대해서 정리를 해보려고 합니다. 관심 있으신 분들은 아래 영상을 참고하시면 좋을 것 같습니다.https://developer.apple.com/kr/videos/play/wwdc2025/244 앱 인텐트 알아보기 - WWDC25 - 비디오 - Apple Developer앱 인텐트 프레임워크에 대해 알아보고 Apple의 개발자 플랫폼 내에서 점점 더 중요해지는 이 프레임워크의 역할에 대해 살펴보세요. 인텐트, 엔티티, 쿼리 등 핵심 개념을 차근차근 설명합니다.developer.apple.com 그럼 바로 시작하겠습니다!App Intents란 무엇인가?App Intents는 시스템 전체 및 모든 Apple 플랫폼에서 앱의 발..
[Swift] Multipeer Connectivity 톺아보기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 Apple의 Multipeer Connectivity 프레임워크에 대해서 정리를 해보려고 합니다. 최근 프로필 카드 교환 앱을 개발하면서 Apple의 Multipeer Connectivity 프레임워크를 사용하게 되었습니다. 처음에는 그냥 단순히 데이터를 보내고 받으면 되겠지라고 생각했는데, 실제로는 예상보다 복잡한 동작 과정과 고려해야 할 점들이 많았습니다. 이번 글에서는 Multipeer Connectivity의 동작 원리와 실제 구현 경험을 공유하고자 합니다. 그럼 바로 시작하겠습니다!Multipeer ConnectivityApple의 Multipeer Connectivity 프레임워크는 P2P(peer-to-peer) 연결성과 근처 기기 발견을 지..
[SwiftUI] 앱에 Face ID 잠금 기능 적용하기
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 제가 공부용으로 진행하고 있는 일기앱 프로젝트에서 Face ID 잠금 기능을 도입해봤는데 도입 과정을 정리해보려고 합니다. 그럼 바로 시작하겠습니다! Face ID 기능 설계 개요앱 실행 시 사용자의 얼굴 인증을 통해 잠금을 해제하고, 인증 성공 시에만 홈 화면(HomeView)으로 진입할 수 있도록 구현하였습니다. 구조는 아래처럼 구현하였습니다.앱 실행 → 잠금화면(Face ID 요청) → 인증 성공 → HomeView 진입 ↘ 인증 실패 시 에러 표시이 기능을 구현하기 위해서 크게 3가지를 구현했습니다.Face ID 인증 로직을 담은 AuthViewModel인증 인터페이스를 담당하..
[SwiftUI] SwiftUI 상태 동기화 트러블슈팅
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 제가 프로젝트를 진행하면서 발생한 문제와 해결 과정을 공유해보려고 합니다. 그럼 바로 시작하겠습니다! 프로젝트 소개우선 프로젝트에 대해서 간단하게 소개해보자면 인생네컷처럼 내 앨범에서 사진을 골라서 네 컷 사진을 만들 수 있는 앱을 개발하고 있었습니다. 사용자가 최대 4장의 사진을 선택하고, 원하는 사진을 삭제한 후, 새로운 사진을 추가할 수 있는 기능도 추가로 구현했습니다. 기본 구조는 아래처럼 설계를 했습니다.ContentView: 사진 선택 및 관리(네컷 이미지를 만드는 View)FourCutFrameModel: 프레임 데이터 모델PhotoModel: 개별 사진 데이터문제 발견 과정앱의 기본 기능은 완성하였지만 기능을 더 확장하고 싶다는 생각이 들었..
[SwiftUI] CADisplayLink를 활용한 부드러운 ProgressView 애니메이션 구현 트러블슈팅
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 서론애플리케이션에서 진행률을 시각적으로 표현할 때, SwiftUI에서는 기본으로 제공하는 기본 컴포넌트인 ProgressView를 사용해서 해당 UI를 구현하게 됩니다. 하지만 이러한 기본 애니메이션 방식으로는 시간 기반으로 자연스럽게 진행되는 부드러운 애니메이션을 구현하기 어렵습니다. 이번 포스팅에서는 SwiftUI의 애니메이션 한계로 겪었던 진행률 애니메이션이 끊겨 보이는 문제를 분석하고, UIkit의 CADisplayLink를 활용하여 해결한 경험에 대해서 정리를 해보려고 합니다. 문제 상황처음에 구현하고자 했던 기능은 진행률이 0%에서 100%까지 7초 동안 자연스럽게 증가하게 하는 것이었습니다. 기본적으로 SwiftUI에서는 다음과 같은 방식으로 애니메이션을 줄 ..
[SwiftUI] NavigationStack 사용 시 화면 전환 안 되는 문제와 title 깨짐 문제 트러블슈팅
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 오늘은 SwiftUI로 앱을 만들던 중 겪은 NavigationStack 관련 트러블슈팅 경험을 작성해보려고 합니다. 아기 울음소리를 녹음하고 아기 상태를 분석해주는 기능을 만들면서, 화면전환이 제대로 되지 않거나 navigation title 위치가 깨지는 이상한 버그를 마주했습니다. 구현 구조 요약우선 제가 구현한 기능의 주요 흐름은 아래와 같습니다.VoiceRecordView – 분석 시작 화면CryAnalysisProcessingView – 울음소리를 녹음하고 분석 진행CryAnalysisResultView – 분석 결과 화면CryAnalysisResultListView – 분석 기록을 모아보는 리스트 화면SwiftUI의 NavigationStack을 활용해서 각..