Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[iOS] 여정 저장 Scene 비즈니스 로직 구현 #144

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
769a978
Update Spot.swift
PushedGun Nov 27, 2023
435e9a6
:art: 컨벤션에 맞게 수정
SwiftyJunnos Nov 30, 2023
b659954
Merge branch 'iOS/release' into iOS/task/SaveJourneySceneUI
SwiftyJunnos Nov 30, 2023
cd30797
:bug: Dependency 추가
SwiftyJunnos Nov 30, 2023
33650a9
Merge branch 'iOS/epic/SaveJourneyScene' into iOS/task/SaveJourneySce…
SwiftyJunnos Nov 30, 2023
c9ab95a
:art: 여정 저장 Demo 앱 세팅
SwiftyJunnos Nov 30, 2023
01d3c48
:sparkles: 여정 저장 화면 하단에 버튼 스택 추가
SwiftyJunnos Nov 30, 2023
4d3c997
:package: 여정 저장 패키지의 Dependency에 MSData 추가
SwiftyJunnos Nov 30, 2023
18094ca
:package: MSData 패키지 생성
SwiftyJunnos Nov 26, 2023
f102e84
:truck: DTO 경로 수정
SwiftyJunnos Nov 27, 2023
25df647
:art: DTO에 public 추가
SwiftyJunnos Nov 27, 2023
8d9f40f
:sparkles: Journey Mock 데이터 적용
SwiftyJunnos Nov 27, 2023
2be2a97
:art: MSNetworking 요소들에 public 추가
SwiftyJunnos Nov 26, 2023
55bc49d
:recycle: MSNetworking URL 구조 변경 & Header 추가
SwiftyJunnos Nov 26, 2023
c87c0a5
:art: MSNetworking Error 이름 변경 & 코드 정리
SwiftyJunnos Nov 26, 2023
17e7f20
:art: MSNetworking에 timeout 추가
SwiftyJunnos Nov 26, 2023
db1cd1b
:test_tube: MSNetworking 테스트 케이스 수정
SwiftyJunnos Nov 27, 2023
88cd0c0
:sparkles: Journey Router 추가
SwiftyJunnos Nov 26, 2023
ba0ed8d
:bug: 여정 저장 Demo앱을 실행 가능한 상태로 수정
SwiftyJunnos Nov 30, 2023
e90f3e9
:art: 여정 리스트 임시 수정
SwiftyJunnos Nov 30, 2023
5683ddb
:art: DTOConvertor 수정
SwiftyJunnos Nov 30, 2023
f746463
Merge branch 'iOS/release' into iOS/task/SaveJourney-Business-Logic
SwiftyJunnos Dec 3, 2023
8da2f9c
:truck: 여정 저장 모델 파일 경로 수정
SwiftyJunnos Dec 3, 2023
681ed0c
:art: 런치 스크린 수정
SwiftyJunnos Dec 3, 2023
2954f3e
:bug: 빌드 에러 수정
SwiftyJunnos Dec 3, 2023
d00a0b7
:sparkles: Model 수정하고 Repository 연결
SwiftyJunnos Dec 3, 2023
9735a9d
:sparkles: 여정 저장 데이터 바인딩
SwiftyJunnos Dec 3, 2023
1b9af60
:truck: Modal Background 컬러 추가
SwiftyJunnos Dec 3, 2023
9c68402
:sparkles: MSAlertViewController 구현
SwiftyJunnos Dec 3, 2023
72dd4ec
:sparkles: 텍스트필드 AlertViewController에서 분리하고 Feature에서 상속받아 추가
SwiftyJunnos Dec 3, 2023
da27de7
:art: Alert의 버튼에 로직을 추가할 수 있도록 수정
SwiftyJunnos Dec 3, 2023
5cc59ce
:bug: AlertViewController의 빈 공간도 PanGesture가 동작하는 오류 수정
SwiftyJunnos Dec 3, 2023
baeea6e
:sparkles: 헤더 텍스트 추가
SwiftyJunnos Dec 4, 2023
c83396d
:art: Button 로직 연결 준비 & MediaPlayer 준비
SwiftyJunnos Dec 4, 2023
650b86f
:recycle: 여정 완료 SpotCell UI & 데이터 수정
SwiftyJunnos Dec 4, 2023
7c3b8e3
:memo: TODO 삭제 & 추가
SwiftyJunnos Dec 4, 2023
0412a59
:bug: 빌드 에러 수정
SwiftyJunnos Dec 4, 2023
676af65
:sparkles: Song 주입 받은 후 데이터 바인딩
SwiftyJunnos Dec 4, 2023
ca83a52
:sparkles: 여정 이름 화면 키보드 조정 & 이름 바인딩
SwiftyJunnos Dec 4, 2023
2764b62
:sparkles: UITextField의 CombineCocoa 추가
SwiftyJunnos Dec 3, 2023
9a2b65f
:sparkles: 여정 완료 로직 구현 완료 (네트워킹 제외)
SwiftyJunnos Dec 4, 2023
093ca3b
:bug: 빌드 에러 수정
SwiftyJunnos Dec 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions iOS/Features/Home/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,7 @@ let package = Package(
.package(name: Dependency.journeyList,
path: Dependency.journeyList.fromCurrentPath),
.package(name: Dependency.msUIKit,
path: Dependency.msUIKit.fromRootPath),
.package(name: Dependency.msCoreKit,
path: Dependency.msCoreKit.fromRootPath)
path: Dependency.msUIKit.fromRootPath)
],
targets: [
.target(name: Target.home,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ extension Journey {
extension Spot {

init(dto: ResponsibleSpotDTO) {
self.photoURLs = dto.photoURLs
self.photoURL = dto.photoURL
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import Foundation

struct Journey: Hashable, Decodable {
struct Journey: Hashable {

// MARK: - Properties

Expand Down
4 changes: 2 additions & 2 deletions iOS/Features/JourneyList/Sources/JourneyList/Model/Spot.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

import Foundation

struct Spot: Decodable {
struct Spot {

let photoURLs: [String]
let photoURL: URL

}
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,7 @@ extension JourneyListViewController: UICollectionViewDelegate {
songArtist: itemIdentifier.song.artist)
cell.update(with: cellModel)
let photoURLs = itemIdentifier.spots
.flatMap { $0.photoURLs }
.compactMap { URL(string: $0) }
.map { $0.photoURL }

Task {
cell.addImageView(count: photoURLs.count)
Expand Down Expand Up @@ -273,6 +272,8 @@ extension JourneyListViewController: UICollectionViewDelegate {

import MSData
import MSDesignSystem
import MSData
import MSNetworking
@available(iOS 17, *)
#Preview {
MSFont.registerFonts()
Expand Down
18 changes: 15 additions & 3 deletions iOS/Features/SaveJourney/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@ private enum Target {

private enum Dependency {

static let msData = "MSData"
static let combineCocoa = "CombineCocoa"
static let msUIKit = "MSUIKit"
static let msFoundation = "MSFoundation"
static let msDesignsystem = "MSDesignSystem"
static let msLogger = "MSLogger"
static let msFoundation = "MSFoundation"

}

Expand All @@ -47,13 +49,23 @@ let package = Package(
],
dependencies: [
.package(name: Dependency.msUIKit,
path: Dependency.msUIKit.fromRootPath)
path: Dependency.msUIKit.fromRootPath),
.package(name: Dependency.msData,
path: Dependency.msData.fromRootPath),
.package(name: Dependency.msFoundation,
path: Dependency.msFoundation.fromRootPath)
],
targets: [
.target(name: Target.saveJourney,
dependencies: [
.product(name: Dependency.msData,
package: Dependency.msData),
.product(name: Dependency.msUIKit,
package: Dependency.msUIKit)
package: Dependency.msUIKit),
.product(name: Dependency.combineCocoa,
package: Dependency.msUIKit),
.product(name: Dependency.msLogger,
package: Dependency.msFoundation)
])
]
)
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,17 @@
objects = {

/* Begin PBXBuildFile section */
DD197B132B1DF223001D4290 /* SaveJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DD197B122B1DF223001D4290 /* SaveJourney */; };
DDAA4DC92B17356D002F0748 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DC82B17356D002F0748 /* AppDelegate.swift */; };
DDAA4DCB2B17356D002F0748 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DCA2B17356D002F0748 /* SceneDelegate.swift */; };
DDAA4DCD2B17356D002F0748 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDAA4DCC2B17356D002F0748 /* ViewController.swift */; };
DDAA4DD02B17356D002F0748 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DCE2B17356D002F0748 /* Main.storyboard */; };
DDAA4DD22B17356E002F0748 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DD12B17356E002F0748 /* Assets.xcassets */; };
DDAA4DD52B17356E002F0748 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DDAA4DD32B17356E002F0748 /* LaunchScreen.storyboard */; };
DDAA4DDE2B17357F002F0748 /* SaveJourney in Frameworks */ = {isa = PBXBuildFile; productRef = DDAA4DDD2B17357F002F0748 /* SaveJourney */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
DDAA4DC52B17356D002F0748 /* SaveJourneyDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SaveJourneyDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
DDAA4DC82B17356D002F0748 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
DDAA4DCA2B17356D002F0748 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
DDAA4DCC2B17356D002F0748 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
DDAA4DCF2B17356D002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
DDAA4DD12B17356E002F0748 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
DDAA4DD42B17356E002F0748 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
DDAA4DD62B17356E002F0748 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
Expand All @@ -32,7 +28,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
DDAA4DDE2B17357F002F0748 /* SaveJourney in Frameworks */,
DD197B132B1DF223001D4290 /* SaveJourney in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -60,8 +56,6 @@
children = (
DDAA4DC82B17356D002F0748 /* AppDelegate.swift */,
DDAA4DCA2B17356D002F0748 /* SceneDelegate.swift */,
DDAA4DCC2B17356D002F0748 /* ViewController.swift */,
DDAA4DCE2B17356D002F0748 /* Main.storyboard */,
DDAA4DD12B17356E002F0748 /* Assets.xcassets */,
DDAA4DD32B17356E002F0748 /* LaunchScreen.storyboard */,
DDAA4DD62B17356E002F0748 /* Info.plist */,
Expand All @@ -86,7 +80,7 @@
);
name = SaveJourneyDemo;
packageProductDependencies = (
DDAA4DDD2B17357F002F0748 /* SaveJourney */,
DD197B122B1DF223001D4290 /* SaveJourney */,
);
productName = SaveJourneyDemo;
productReference = DDAA4DC52B17356D002F0748 /* SaveJourneyDemo.app */;
Expand Down Expand Up @@ -117,7 +111,7 @@
);
mainGroup = DDAA4DBC2B17356D002F0748;
packageReferences = (
DDAA4DDC2B17357F002F0748 /* XCLocalSwiftPackageReference ".." */,
DD197B112B1DF223001D4290 /* XCLocalSwiftPackageReference ".." */,
);
productRefGroup = DDAA4DC62B17356D002F0748 /* Products */;
projectDirPath = "";
Expand All @@ -135,7 +129,6 @@
files = (
DDAA4DD52B17356E002F0748 /* LaunchScreen.storyboard in Resources */,
DDAA4DD22B17356E002F0748 /* Assets.xcassets in Resources */,
DDAA4DD02B17356D002F0748 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -146,7 +139,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
DDAA4DCD2B17356D002F0748 /* ViewController.swift in Sources */,
DDAA4DC92B17356D002F0748 /* AppDelegate.swift in Sources */,
DDAA4DCB2B17356D002F0748 /* SceneDelegate.swift in Sources */,
);
Expand All @@ -155,14 +147,6 @@
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
DDAA4DCE2B17356D002F0748 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
DDAA4DCF2B17356D002F0748 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
DDAA4DD32B17356E002F0748 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
Expand Down Expand Up @@ -304,7 +288,6 @@
INFOPLIST_FILE = SaveJourneyDemo/Info.plist;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
Expand Down Expand Up @@ -335,7 +318,6 @@
INFOPLIST_FILE = SaveJourneyDemo/Info.plist;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
Expand Down Expand Up @@ -379,14 +361,14 @@
/* End XCConfigurationList section */

/* Begin XCLocalSwiftPackageReference section */
DDAA4DDC2B17357F002F0748 /* XCLocalSwiftPackageReference ".." */ = {
DD197B112B1DF223001D4290 /* XCLocalSwiftPackageReference ".." */ = {
isa = XCLocalSwiftPackageReference;
relativePath = ..;
};
/* End XCLocalSwiftPackageReference section */

/* Begin XCSwiftPackageProductDependency section */
DDAA4DDD2B17357F002F0748 /* SaveJourney */ = {
DD197B122B1DF223001D4290 /* SaveJourney */ = {
isa = XCSwiftPackageProductDependency;
productName = SaveJourney;
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
Expand All @@ -11,15 +14,32 @@
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="여정 저장 데모 앱" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xLC-a5-s4l">
<rect key="frame" x="82.666666666666686" y="405.66666666666669" width="228" height="40.666666666666686"/>
<fontDescription key="fontDescription" style="UICTFontTextStyleTitle0"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="xLC-a5-s4l" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="ERD-Ux-t9G"/>
<constraint firstItem="xLC-a5-s4l" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="h7t-5v-iea"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSAppleMusicUsageDescription</key>
<string>음악 좀 쓸게요</string>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
Expand All @@ -15,8 +17,6 @@
<string>Default Configuration</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
</array>
</dict>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,36 @@

import UIKit

class SceneDelegate: UIResponder, UIWindowSceneDelegate {
import MSData
import MSDesignSystem
import SaveJourney

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

// MARK: - Properties

var window: UIWindow?


func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
guard let _ = (scene as? UIWindowScene) else { return }

// MARK: - Functions

func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
let window = UIWindow(windowScene: windowScene)
defer { self.window = window }

MSFont.registerFonts()

let song = Song(title: "OMG", artist: "NewJeans", albumArtURL: URL(string: "https://naver.com")!)
let spotRepository = SpotRepositoryImplementation()
let saveJourneyViewModel = SaveJourneyViewModel(selectedSong: song,
spotRepository: spotRepository)
let saveJourneyViewController = SaveJourneyViewController(viewModel: saveJourneyViewModel)
let navigationViewController = UINavigationController(rootViewController: saveJourneyViewController)

window.rootViewController = navigationViewController
window.makeKeyAndVisible()
}

func sceneDidDisconnect(_ scene: UIScene) {
// Called as the scene is being released by the system.
// This occurs shortly after the scene enters the background, or when its session is discarded.
// Release any resources associated with this scene that can be re-created the next time the scene connects.
// The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
}

func sceneDidBecomeActive(_ scene: UIScene) {
// Called when the scene has moved from an inactive state to an active state.
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
}

func sceneWillResignActive(_ scene: UIScene) {
// Called when the scene will move from an active state to an inactive state.
// This may occur due to temporary interruptions (ex. an incoming phone call).
}

func sceneWillEnterForeground(_ scene: UIScene) {
// Called as the scene transitions from the background to the foreground.
// Use this method to undo the changes made on entering the background.
}

func sceneDidEnterBackground(_ scene: UIScene) {
// Called as the scene transitions from the foreground to the background.
// Use this method to save data, release shared resources, and store enough scene-specific state information
// to restore the scene back to its current state.
}



}

Loading