Currently this component requires the latest versions of iOS 16, macOS 13 and so on. This is mostly down to the usage of the ImageRenderer system which was newly released then and plays a pivotal role in the accurate creation of an image from a SwiftUI view.
However, this has long been possible to do in UIKit and Cocoa. It would be possible to backport for older versions of iOS, macOS and others by using these older frameworks and methods. We need to think about how we decide what logic to use:
Older OSes use older method, newer OSes use ImageRenderer. This could cause inconsistencies between OS versions which may be confusing and frustrating for developers but ensures as many people as possible are on the 'real' version.
All OSes when in 'backport' mode use the older method. We would need a way to make this opt-in.
A great article talking about the ImageRenderer and some of it's shortcomings - could be a reason some may wish to use the backported UIKit/Cocoa version in their app.
Currently this component requires the latest versions of iOS 16, macOS 13 and so on. This is mostly down to the usage of the ImageRenderer system which was newly released then and plays a pivotal role in the accurate creation of an image from a SwiftUI view.
However, this has long been possible to do in UIKit and Cocoa. It would be possible to backport for older versions of iOS, macOS and others by using these older frameworks and methods. We need to think about how we decide what logic to use: