diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index c73afcdfe..a907fb52c 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -3,9 +3,12 @@ import Foundation import ProjectDescription import ProjectDescriptionHelpers +let alternativeAppIconNames: [String] = ["HalloweenAppIcon", " XmasAppIcon"] + let settinges: Settings = .settings( - base: env.baseSetting, + base: env.baseSetting + .merging(["ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES": .array(alternativeAppIconNames)]), configurations: [ .debug(name: .debug), .debug(name: .qa), diff --git a/Projects/App/Resources/Assets.xcassets/HalloweenAppIcon.appiconset/Contents.json b/Projects/App/Resources/Assets.xcassets/HalloweenAppIcon.appiconset/Contents.json new file mode 100644 index 000000000..16348572f --- /dev/null +++ b/Projects/App/Resources/Assets.xcassets/HalloweenAppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "HalloweenAppIcon.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/App/Resources/Assets.xcassets/HalloweenAppIcon.appiconset/HalloweenAppIcon.png b/Projects/App/Resources/Assets.xcassets/HalloweenAppIcon.appiconset/HalloweenAppIcon.png new file mode 100644 index 000000000..30e197063 Binary files /dev/null and b/Projects/App/Resources/Assets.xcassets/HalloweenAppIcon.appiconset/HalloweenAppIcon.png differ diff --git a/Projects/App/Resources/Assets.xcassets/XmasAppIcon.appiconset/Contents.json b/Projects/App/Resources/Assets.xcassets/XmasAppIcon.appiconset/Contents.json new file mode 100644 index 000000000..a468398a0 --- /dev/null +++ b/Projects/App/Resources/Assets.xcassets/XmasAppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images" : [ + { + "filename" : "XmasAppIcon.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/App/Resources/Assets.xcassets/XmasAppIcon.appiconset/XmasAppIcon.png b/Projects/App/Resources/Assets.xcassets/XmasAppIcon.appiconset/XmasAppIcon.png new file mode 100644 index 000000000..ceed6aa43 Binary files /dev/null and b/Projects/App/Resources/Assets.xcassets/XmasAppIcon.appiconset/XmasAppIcon.png differ diff --git a/Projects/Features/RootFeature/Sources/ViewControllers/IntroViewController.swift b/Projects/Features/RootFeature/Sources/ViewControllers/IntroViewController.swift index 5e647676b..04f597ddf 100644 --- a/Projects/Features/RootFeature/Sources/ViewControllers/IntroViewController.swift +++ b/Projects/Features/RootFeature/Sources/ViewControllers/IntroViewController.swift @@ -237,6 +237,8 @@ private extension IntroViewController { } else { logoType = .usual } + + changeAppIcon(logoType) self.view.backgroundColor = logoType == .halloween ? colorFromRGB(0x191A1C) : .white let animationView = LottieAnimationView( diff --git a/Projects/Features/RootFeature/Sources/ViewModels/SplashLogoType.swift b/Projects/Features/RootFeature/Sources/ViewModels/SplashLogoType.swift index 29f0bccfd..a8080d358 100644 --- a/Projects/Features/RootFeature/Sources/ViewModels/SplashLogoType.swift +++ b/Projects/Features/RootFeature/Sources/ViewModels/SplashLogoType.swift @@ -1,15 +1,26 @@ -// -// SplashLogoType.swift -// RootFeature -// -// Created by KTH on 10/22/24. -// Copyright © 2024 yongbeomkwak. All rights reserved. -// - -import Foundation +import UIKit enum SplashLogoType: String { case usual = "Splash_Logo_Main" case halloween = "Splash_Logo_Halloween" case xmas = "Splash_Logo_Xmas" + + var icon: String? { + switch self { + case .usual: + return nil + case .halloween: + return "HalloweenAppIcon" + case .xmas: + return "XmasAppIcon" + } + } +} + +func changeAppIcon(_ type: SplashLogoType) { + guard UIApplication.shared.alternateIconName != type.icon else { + return + } + + UIApplication.shared.setAlternateIconName(type.icon) }