분류 전체보기 40

[Error] The Copy Bundle Resources build phase contains this target's entitlements file '*.entitlements'.

문제 정의Tuist로 앱을 모듈화하면서 entitlements를 추가적으로 설정했는데 제목과 같은 경고가 발생했다.에러가 아니어서 무시해도 문제는 없지만, 노란색 경고가 괜히 거슬려서 처리하기로 했다. 원인 분석찾아본 결과, 프로젝트에서 해당 파일에 대한 중복 참조가 원인이라고 한다. 문제 해결Target -> Build Phases -> Copy Bundle Resources 에서 해당 파일을 -를 눌러서 빼주면 된다.

iOS 2025.07.06

[SwiftUI] FCM 사용하는법

안녕하세요~ 지호구입니다오늘은 SwiftUI에서 FCM(Firebase Cloud Messaging)을 사용하는 방법에 대해 알아보겠습니다 프로젝트를 진행하다 보면 푸시 알림 기능을 요구하는 경우가 있을 겁니다사용자 간 상호작용 없이 로컬 알림만 사용한다면 UNUserNotificationCenter만 활용하면 되지만SNS에서의 좋아요, DM과 같은 상호작용이 있다면 서버에서 이를 구현해주어야 합니다. 서버에서 구현하려면 푸시 전용 서버를 만들고 이것저것 설정을 하는 것에 상당히 많은 리소스가 들어가기 때문에 어려움이 있는데,이를 해소해 주는 것이 FCM 입니다 Firebase Cloud MessagingFirebase 클라우드 메시징(FCM)은 메시지를 안정적으로 전송할 수 있는 크로스 플랫폼 메시징..

iOS/SwiftUI 2025.04.19

[SwiftUI] AsyncImage에서 이미지 캐싱 처리하기

안녕하세요~ 지호구입니다진행하고 있는 프로젝트에서 AsyncImage를 사용하면서 배운 점을 기록하려 합니다! 문제 정의SwiftUI에서는 서버에서 받아온 이미지를 다룰 때 AsyncImage를 사용하는데이때 문제가 하나 있습니다 AsyncImage는 파라미터로 받는 URL을 내부적으로 URLSession을 통해 네트워크 통신을 해서 image를 받아오는데, URL에 대한 캐싱을 하고 있지 않습니다. 이게 왜 문제가 되냐면 AsyncImage가 렌더링 될 때마다 네트워크 통신을 한다는 것이기 때문입니다 이미지를 많이 안 다룬다면 큰 문제가 되지는 않지만, LazyVStack 같은 곳에서 이미지를 포함한 리스트들을 본다고 생각해 보면 AsyncImage들이 렌더링 되면서 계속 통신을 해서 불러왔었던 dat..

iOS/SwiftUI 2025.04.19

[SwiftUI] shadow 효과 주는 방법

안녕하세요~ 지호구입니다.오늘은 SwiftUI에서 View에 shadow 효과를 주는 방법을 알아보려합니다 ! 그냥 View만 뚝딱해도 상관은 없지만 뭔가.. 2% 모자란 느낌이 든 적이 있을겁니다..!그럴 때 shadow만 추가해줘도 입체감이 들고 좀 더 보기가 좋아진답니다 ㅎㅎ 공식 문서 - shadow shadow(color:radius:x:y:) | Apple Developer DocumentationAdds a shadow to this view.developer.apple.com SwiftUI에서는 이 shadow라는 View Modifier를 제공해줍니다.파라미터로 color, radius, x, y값을 받는데요, 각각의 속성들에 대해 알아보겠습니다. color그림자의 색상 radius..

iOS/SwiftUI 2024.08.12

[SwiftUI] ZStack, overlay, background

안녕하세요 지호구 입니다~ 오늘은 SwiftUI에서 View를 Z축으로 쌓는 방법에 대해 알아보려고 합니다SwiftUI에서는 3가지 방법이 있습니다 1. ZStack2. overlay3. background 순서대로 알아가봅시다 1. ZStack공식 문서 - ZStack VStack, HStack과 마찬가지로 Stack 안에 View를 원하는 순서대로 배치하면 됩니다ZStack의 경우 순서가 밑으로 갈수록 앞으로 옵니다ZStack { Rectangle() .fill(.blue) .frame(width: 100, height: 100) Text("안녕하세요") .foregroundStyle(.white)} Rectangle 위에 Text가 올라온 것을 확인..

iOS/SwiftUI 2024.06.20

[SwiftUI] 화면 터치시 키보드 내리는 방법

안녕하세요~ 지호구입니다SwiftUI로 프로젝트를 하던 중 텍스트 입력 도중에 화면을 터치하면 키보드를 내려야 하는 상황이 생겼습니다 UIKit을 사용했을 땐 아래 2가지 방법을 활용했는데1. touchesBegin(_:)에 view.endEditing(true)2. objc 메서드에 textField.resignFirstResponder를 넣은 뒤 view에 tapGesture 추가하기 SwiftUI에서는 방법이 생각이 나질 않아, 관련하여 공부를 하던 중FocusState에 대해 알게 되었습니다. 관련하여 자세한 내용은 추가적으로 포스팅을 하겠지만간단히 설명하면 TextField의 포커싱을 다루는 프로퍼티 래퍼입니다.@State와 같이 View의 상태를 다룬다 볼 수 있습니다. 애플 공식문서의 예제..

iOS/SwiftUI 2024.06.16

[Swift] 백준 14503 로봇청소기

https://www.acmicpc.net/problem/14503문제로봇 청소기와 방의 상태가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오.로봇 청소기가 있는 방은 N x M 크기의 직사각형으로 나타낼 수 있으며, 1 x 1 크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북 중 하나이다. 방의 각 칸은 좌표 (r, c)로 나타낼 수 있고, 가장 북쪽 줄의 가장 서쪽 칸의 좌표가 (0, 0), 가장 남쪽 줄의 가장 동쪽 칸의 좌표가 (N-1, M-1)이다. 즉, 좌표 (r, c)는 북쪽에서 (r+1)번째에 있는 줄의 서쪽에서 (c+1)번째 칸을 가리킨다. 처음에 빈 칸은 전부 청소되지 않은 상태이..

Algorithm/백준 2024.06.09

[Swift 문법] 3. 문자열과 문자

Swift 공식 문서 - Strings and CharactersStrings and Characters텍스트를 저장하고 다룬다.문자열은 "hello, word"와 같은 문자(Character)의 연속이다.Swift 문자열은 String타입으로 표현된다.Swift의 String과 Character타입은 코드의 텍스트를 처리하는 빠른 유니코드 호환 방법을 제공한다.문자열 생성 및 조작 구문은 C와 유사한 문자열 리터럴 구문을 사용하여 가볍고 읽기 쉽다.문자열 연결은 두 문자열 사이에 +연산자를 사용할 수 있고, 다른 타입과 마찬가지로 상수 또는 변수로 선언하여 관리한다.문자열 보간법을 통해 상수, 변수, 리터럴 및 표현식을 문자열에 삽입할 수 있다.Swift의 String은 인코딩에 독립적인 유니코드 문자..

Swift/Documents 2024.05.29

[Swift 문법] 2. 기본 연산자

이번에는 Swift의 기본 연산자에 대해 알아보려 합니다!Swift 공식 문서 - Basic OperatorsBasic Operators연산자는 값을 확인, 변경 또는 결합하기 위해 사용하는 기호 또는 구이다.예를 들어 덧셈 연산자 +는 let sum = 1 + 2에서처럼 두 숫자를 더하고,논리 AND 연산자 &&는 if isHuman && isMan에서처럼 두 Bool 값을 결합한다.Swift는 C언어 연산자의 코딩 에러를 제거하기 위해 기능을 향상한 연산자를 지원한다.대입 연산자 =는 등호 연산자 ==와 혼동되지 않도록 하기 위해 값을 반환하지 않는다.산술 연산자(+, -, *, /, % 등)는 타입이 수용할 수 있는 값의 범위보다 크거나 작은 숫자로 작업을 수행하려 할 때예기치 않은 결과를 피하기 ..

Swift/Documents 2024.05.20
반응형