문제점
왁타버스 뮤직팀에서 할로윈과 크리스마스 등 , 다양한 이벤트가 있을 때 다양한 컨셉의 앱 아이콘을 적용했습니다.
당연히 우리는 앱의 큰 업데이트 없이 단지 로고 하나 교체하기 위해 심사를 넣었습니다.
하지만 찾아보니 앱에 접속하기만한다면 코드로 갱신을 할 수 있더군요..
과정
과정은 크게 3가지 스텝을 거친다.
1. 앱 아이콘 추가하기
당연히 앱 아이콘을 변경하기 위해서는 그 리소스가 필요하다.
여기서 앱 아이콘의 이름을 꼭 기억해야한다.
2. build settings을 통해 등록하기
기본 프로젝일경우
target - Asset Catalog Compiler Options - Alternate App Icon Sets에 위에 추가한 아이콘을 명시한다.
tuist 이용
tuist를 이용하면 SettingsDictionary을 통해 미리 지정할 수 있다.
3. 코드를 통한 앱 아이콘 변경
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)
}
여기서 setAlternateIconName의 매개변수는 String? 인데 nil을 넣을 경우에는 기본으로 지정한 appIcon이다.
결과
참고
'iOS > UIKit' 카테고리의 다른 글
IntrinsicContentSize (1) | 2024.12.15 |
---|---|
Auto Layout이란 (0) | 2024.12.15 |
iOS Cache (7) | 2024.10.17 |
키보드 반응하기 (1) | 2024.10.13 |
UIHostingController (0) | 2024.10.12 |