반응형
LinkedIn 개발자로 성장하면서 남긴 발자취들을 확인하실 수 있습니다.
Github WWDC Student Challenge 및 Cherish, Tiramisul 등 개발한 앱들의 코드를 확인하실 수 있습니다.
개인 앱 : Cherish 내 마음을 들여다보는 시간, 체리시는 디자이너와 PM과 함께 진행 중인 1인 개발 프로젝트입니다.
10년 후, 20년 후 나는 어떤 스토리 텔러가 되어 있을지 궁금하다. 내가 만약에 아직 조금 더 탐구하고 싶은 게 있고, 궁금한 게 있다면, 그게 설사 지금 당장의 내 인생에 도움이 안 되는 것 같더라도 경험해보자. 그 경험들을 온전히 즐기며 내 것으로 만들고, 내 일에 녹여내고... 그러다보면 그 점들이 모여 나란 사람을 그려내는 선이 될 테니까.

Recent Posts
Recent Comments
Total
관리 메뉴

꿈꾸는리버리

SwiftUI Widget 딱대(짐).. : iOS 18 이후 Tint Widget 흰 화면 에러 해결 본문

오뚝이 개발자/SwiftUI

SwiftUI Widget 딱대(짐).. : iOS 18 이후 Tint Widget 흰 화면 에러 해결

rriver2 2025. 4. 11. 16:09
반응형

 

 ☁️ Widget 시리즈 

기본 시리즈

SwiftUI Widget 딱대.. (1/3) 위젯 기본 개념 + 구현

SwiftUI Widget 딱대.. (2/3) : 앱 내의 데이터를 widget에 띄우기

SwiftUI Widget 딱대.. (3/3) : 위젯을 눌렀을 때 다른 화면으로 뜨게 하기

SwiftUI Widget 딱대.. ( Lock Screen Widget )

 

에러 시리즈

SwiftUI Widget 딱대(짐).. : 위젯 memory 제한

SwiftUI Widget 딱대(짐).. : localization 적용

SwiftUI Widget 딱대(짐).. : 위젯에 폰트가 안 먹혀요...

[Error 해결] Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier.

SwiftUI Widget 딱대(짐).. : 딥링크가 안되는 뎁숑 ?

SwiftUI Widget 딱대(짐).. : Xcode Widget error Failed to show Widget 고치기

SwiftUI Widget 딱대(짐).. : Widget에 보여지는 순서 수정하기

SwiftUI Widget 딱대(짐).. : iOS 18 이후 Tint Widget 흰 화면 에러 해결SwiftUI Widget 딱대(짐).. : 딥링크가 안되는 뎁숑 ?SwiftUI Widget 딱대(짐).. : iOS 18 이후 Tint Widget 흰 화면 에러 해결

 

 


 🎨 배경화면 Tint 기능이 무엇인지 아시나요...? 

갠적으로는 애플이 이걸 뭘 위해 만든건지..라고 생각할 정도로 정말 쓸데 없는 기능이라고 생각했었는데, 사람들이 생각보다 꽤 쓰시더라구요??

https://widget-club.com/ko/article/how-to-change-ios-icon-color

 

사람마다 생각이 다른가봐요 키킼... 

 

 TMI ) Tint 에러를 아직 대응하지 않은 앱이 많습니다. 

키킼.... 카톡... 링크드인도 대응을 아직 안 했더라구요 ! 그래서 뭔가 더 재밌었다... 키킼 내가 언제 먼저 해보겠어 ~~ 라는 생각

 

 🎨  문제 해결하기 

우선 이미지와 텍스트를 해결하는 방법이 달랐고 iOS 18.0 이상만 가능했기 때문에, 아래 코드로 분기처리를 해줘야 했다.

if #available(iOSApplicationExtension 17.0, *) {
	// 코드
} else {
	// 코드
}

 

 

 

나는 이미지 같은 경우에는 tint 값이 변해도 유지되기를 원했고, 텍스트는 tint 값이 변경되길 원했어서 아래와 같은 코드를 추가했다.

Image("이름")
    .resizable()
    .widgetAccentedRenderingMode(.fullColor) // 여기
Text("내용")
    .widgetAccentable() // 여기

 

- WidgetAccentedRenderingMode는 아래와 같이 4가지 방법으로 제작이 가능하다. ( Accented가 기본이라 아예 흰 화면이 떴던 것 같다. )

https://confusians.com/blog

- 그리고 Text의 경우에는 widgetAccentable라는 말 그래도 틴트 적용을 따라 가겠다는 뜻이다.


 출처 

 

 

Adapting widgets for tint mode and dark mode in SwiftUI

Explore the multiple rendering modes of widgets for different device settings with SwiftUI.

www.createwithswift.com

 

 

widgetAccentedRenderingMode(_:) | Apple Developer Documentation

Specifies the how to render an when using the mode.

developer.apple.com

 

 

Confusians | Blog

iOS 18 Introduces Home Screen Tinting With iOS 18, Apple introduces home screen tinting, allowing users to customize widget appearances to match their theme or color scheme. This feature enhances the overall aesthetic and provides a more cohesive and visua

confusians.com

 

반응형
Comments