SwiftUI
-
[SwiftUI] Crashlytics에서 1.0 (1) 버전의 dSYM 누락을 감지했습니다.SwiftUI 2024. 4. 8. 11:01
앱 개발할 때 fcm 푸시 알림을 개발할 때 Firebase에서 이런 메일을 받아볼 수 있다. 왜? 파이어베이스에서 Crashlytics를 사용해서 디버깅을 하는 경우에는 dSYM 파일을 업로드해야 한다. 그래서 구글링했는데 2021년도 정보로는 앱 스토어 커넥트에 들어가면 dSYM 파일을 다운로드하는 버튼이 있다고 하는데.. 없다? 이게 또 정책이 금방 금방 바뀌는 건지... 다른 방법을 찾아냈다. 1. Xcode로 프로젝트를 실행한 후 상단탭에서 [Window] - [Organizer]에 들어간다. 들어가보면 내가 Archive한 파일들이 뜰 것이다. 2. 출시한 버전을 [우클릭] - [Show in Finder]로 연다. 3. [.xcarchive] 파일 - [우클릭] - [패키지 내용 보기] 이제..
-
[SwiftUI] 데이터 바인딩 어노테이션 @ 이해하기SwiftUI 2024. 4. 2. 14:01
사실 개발하면서도 언제 어느 때에 써야할지 지금도 헷갈리는 State, StateObject, ObservedObject ...등등 현재 진행하는 프로젝트에서도 검색 기능을 구현할 때 ObservedObject로 썼을 때 검색창이 일회용이 되어버렸던.... 그러다가 StateObject를 만났던... 복잡하지만 확실하게 알아두는게 좋을 것 같아서 학습해본다. 데이터 바인딩 SwiftUI에서 데이터 바인딩은 View와 데이터 사이의 동기화라고 한다. 나는 지금 현재 MVVM 패턴을 사용하며 개발하고 있기 때문에 ViewModel을 View에 연결해서 사용할 때 꼭 필요하다. 데이터 바인딩은 사용자 인터페이스가 데이터 모델의 현재 상태를 정확하게 반영하도록 보장해준다. 사용자의 입력 또는 데이터 모델에서 변..
-
[CS] MVVM 패턴과 SwiftUICS 2024. 3. 22. 17:01
오늘은 이번 프로젝트에서 사용한 MVVM 패턴에 대한 정리를 해보려고 한다. MVVM 패턴이란? MVVM 패턴은 Model, ViewModel, View 세 부분으로 애플리케이션을 나누는 구조적 디자인 패턴이다. 이 구조는 UI와 실제 코드를 분리하기 때문에 로직과 디자인 간의 상호 의존성을 줄여주므로 유지보수가 편리하다. MVVM 패턴의 구성 요소 Model : 애플리케이션의 데이터와 비즈니스 로직 담당, 데이터의 저장, 검색, 수정 등을 관리하며, 애플리케이션의 상태를 나타냄 View : 사용자 인터페이스(UI) 담당, 사용자에게 정보를 표시하고, 사용자의 입력을 받음 View는 ViewModel을 통해 데이터를 표시하며, 사용자의 입력에 따라 ViewModel을 업데이트 ViewModel : Vie..
-
[SwiftUI] Launch Screen 만드는 방법들(코드, Info.plist)SwiftUI 2024. 3. 20. 16:15
앱을 개발할 때 꼭 빠질 수 없는 부분이 바로 Launch Screen! 오늘은 시작 화면을 간단하게 구현하는 방법을 알아보기로 ㅎㅎ Launch Screen 앱이 구동될 때 보여주는 첫 시작 화면이다. 그럼 직접 만들어보자! 방법 1. Info.plist 파일로 설정하기 1️⃣ Assets에 필요한 부분을 추가하자. LaunchScreen에는 로고와 배경색 정도가 필요할 것 같으니 Color, Image 각 하나씩 추가한다. 2️⃣ 프로젝트의 Target > Info에 들어가서 Launch Screen을 찾자. Key 값에 LaunchScreen이 있을거임!! 3️⃣ + 버튼으로 Launch Screen 밑에 속성들을 추가해주자. 나는 여기서 Image Name과 Background color, Ima..
-
[SwiftUI] 앱 배포 시 설정 화면에서 오픈소스 라이센스 표시하는 방법SwiftUI 2024. 3. 18. 17:29
앱 배포를 준비하면서 얻은 꿀팁을 정리하려고 한다. 앱을 개발할 때 오픈소스(패키지 등)를 사용하게 되면 라이선스 표시를 꼭 해줘야 한다. 뭐 마이페이지나 앱 안에 뷰를 하나 더 만들어서 할 수도 있지만,,, 에브리타임 앱을 보니까 디바이스 안에 있는 설정 앱에 개발중인 앱 정보를 들어가면 라이선스 정보를 쉽게 표시할 수 있더라고!! 아 참고로 UIkit이랑 SwiftUI랑 설정 다를게 없음. 그래서 정리하는 '디바이스 설정 화면에서 오픈소스 라이선스 표시하기' SwiftUI편 시작합니댱 1️⃣ LicensePlist 라이브러리 설치하기 https://github.com/mono0926/LicensePlist GitHub - mono0926/LicensePlist: A license list genera..
-
[SwiftUI] UI에 자주 쓰이는 Modifier 모음SwiftUI 2024. 3. 13. 15:43
오늘은 Modifier에 대해서 알아보자!👩🏻🍳 SwiftUI에서 Modifier는 뷰의 모양, 레이아웃, 기능을 변경하기 위해서 사용되는 강력한 도구이다. 모디파이어를 사용하면 코드의 재사용성을 높이고, 간결하고 읽기 쉬운 코드를 작성할 수 있다. 텍스트 모양 변경하기 Text("안녕하세요, SwiftUI!") .font(.title) // 글꼴을 제목 스타일로 설정 .foregroundColor(.blue) // 글자 색상을 파란색으로 설정 .padding() // 주변에 패딩 추가 .background(Color.yellow) // 배경색을 노란색으로 설정 .cornerRadius(10) // 모서리를 둥글게 처리 글꼴의 모양부터 글자 색상, 패딩, 배경색, 모서리를 둥글게 설정할 수 있다. 버튼..
-
[SwiftUI] ProgressViewSwiftUI 2024. 3. 12. 17:24
오늘은 ProgressView에 대해서 알아보자!👩🏻🍳 ProgressView ProgressView는 사용자에게 장기 실행 작업의 진행 상황을 시각적으로 표현해주는데 사용되는 UI 컴포넌트이다. 작업의 진행 상태를 나타내고 다양한 스타일과 구성을 제공한다. ProgressView Apple 공식 문서 ProgressView | Apple Developer Documentation A view that shows the progress toward completion of a task. developer.apple.com 기본 ProgressView ProgressView() 레이블과 함께 사용하기 ProgressView("Downloading...") 진행 상황을 나타내는 ProgressView @S..
-
[SwiftUI] GroupBox 사용해보기SwiftUI 2024. 3. 6. 15:29
오늘은 GroupBox에 대해 알아보자!👩🏻🍳 GroupBox SwiftUI에서 GroupBox는 관련된 여러 뷰를 그룹화하는 컨테이너이다. 자체적으로 그룹의 제목과 함께 뷰를 그룹화하여, 내용이 어떤 정보를 나타내는지 사용자에게 명확하게 전달할 수 있도록 도와준다. GroupBox Apple 공식 문서 GroupBox | Apple Developer Documentation A stylized view, with an optional label, that visually collects a logical grouping of content. developer.apple.com 예시 코드 뭔가 개인정보 동의서 같은 화면 만들 때 어울릴 것 같아서 UI를 만들어보기로! var body: some View..