일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- arkit
- Lv2
- node.js
- combine
- rxcocoa
- Swfit
- reactorkit
- designpattern
- raywenderlich
- Flutter
- swift
- SnapKit
- XCTest
- ios
- UIKit
- CollectionView
- Xcode
- TCA
- 패스트캠퍼스
- WWDC24
- RxSwift
- SwiftUI
- BOJ
- 백준
- realm
- visionOS
- Kuring
- tableView
- MVVM
- 프로그래머스
Archives
- Today
- Total
lgvv98
[iOS] SwiftUI SceneDelegate, AppDelegate 변경 본문
SwiftUI SceneDelegate, AppDelegate 변경
해당 포스팅은 실제 프로젝트를 그대로 가져왔습니다. 따라서 네이밍이나 주석 등 불편한 부분이 있을 수 있습니다
자 이 포스팅을 왜 쓰냐면 SwiftUI 기반으로 프로젝트를 진행중인데, window를 변경해야하는 경우가 생겼음.
근데, 이게 기존에 SwiftUI에서 제공되는 WindowGroup을 사용하기에 자료도 넘 적고, 생각보다 코드관리도 잘 안되고 불편한게 너무나도 많았음.
그래서 많은 고민 끝에, SwiftUI에서 SceneDelegate와 AppDelegate를 채택해서 사용하기로 함.
이게 무슨말이냐면
기존에 처음에 SwiftUI로 프로젝트를 만들면 이렇게 나타날 것이고, Scene은 보다시피 ScenePhase를 통해서 관리하여 사용할 수 있었다.
다만, 다른 쪽에서 윈도우를 교체해야 하거나, 알림 등 SceneDelegate에 작성해야 하는 코드가 많을 경우 SwiftUI를 제대로 활용하기가 어려웠음.
(아직 스유를 잘 몰라서 그럴 확률 200%)
그래서 익숙하게 사용하는 AppDelegate와 SceneDelegate로 갈아타기 슝슝
1. SwiftUI의 @main을 AppDelegate로 옮겨주어야 한다
.
2. info.plist를 변경해야 한다.
스유로 프로젝트를 만든결우 Info.plist가 보이지 않을 수도 있는데, 그 경우에
저기 보면 info라고 있다.
🚨 주의: Enable Multiple Windows를 YES로 해둘경우 검은 화면이 나타날 수 있음.
'apple > Docs, iOS, Swift' 카테고리의 다른 글
[iOS] UICollectionView에 대해서 알아보기 5편 (북마크 구현 및 모델 관리) (1) | 2022.09.01 |
---|---|
[iOS] UICollectionView에 대해서 알아보기 4편 (Rx + FlexLayout + PinLayout) (0) | 2022.08.31 |
[iOS] UICollectionView에 대해서 알아보기 3편 (동적 Cell) (0) | 2022.08.22 |
[iOS] 시뮬레이터에서 Remote Notification (푸시알림) (0) | 2022.08.17 |
[iOS] UICollectionView에 대해서 알아보기 2편 (0) | 2022.08.12 |
Comments