DisplayRepresentation.Image(systemName:tintColor:symbolConfiguration:) no longer applies the provided tintColor reliably since iOS 18.
Observed behavior by OS version:
- iOS 17: SF Symbol tint is applied consistently as expected.
- iOS 18: SF Symbol tint is inconsistent and sometimes appears with incorrect or seemingly random colors instead of the provided tintColor.
- iOS 26: SF Symbol is rendered without any tint (default monochrome), completely ignoring the provided tintColor.
This appears to be a regression in how App Intents renders DisplayRepresentation.Image with tinting across OS versions.
iOS17.5:
iOS 18.6:
iOS26:
Code:
import AppIntents
import UIKit
struct CategoryEntity: AppEntity, Hashable {
var id: Category.ID
var name: String
var icon: Int?
var color: Int?
var parentCategoryName: String?
init(from category: Category) {
self.id = category.id
self.name = category.name
self.icon = category.icon
self.color = category.parent?.color ?? category.color
self.parentCategoryName = category.parent?.name
}
var displayRepresentation: DisplayRepresentation {
DisplayRepresentation(
title: "\(name)",
subtitle: parentCategoryName.map { "\($0)" },
image: .init(
systemName: Icon.sfSymbolName(from: icon),
tintColor: ColorTag.from(color)
)
)
}
static let typeDisplayRepresentation: TypeDisplayRepresentation = "Category"
static let defaultQuery = CategoryQuery()
}
[Documentation API] (https://developer.apple.com/documentation/appintents/displayrepresentation/image-swift.struct/init(systemname:tintcolor:symbolconfiguration:)-3snvy?changes=_5)