This is not a general solution however. Even the new and shiny Final Cut Pro X uses rasters throughout.
There's only three ways to support higher resolution displays:
1. Invest in better tools, like Core UI or PaintCode.
2. Exactly double the density and use @2x resources.
3. Switch to "Flat UI" design language.
For the system UI elements, Apple chose option one. For the 3rd party UI elements, Apple chose option two. For iOS, Apple eventually chose option three.
What about 4: ship the actual Illustrator files used to make those raster resources, and just render+cache them for each size the user actually switches to? (In est, treat them like JITable bytecode.)
This is not a general solution however. Even the new and shiny Final Cut Pro X uses rasters throughout.
There's only three ways to support higher resolution displays:
1. Invest in better tools, like Core UI or PaintCode.
2. Exactly double the density and use @2x resources.
3. Switch to "Flat UI" design language.
For the system UI elements, Apple chose option one. For the 3rd party UI elements, Apple chose option two. For iOS, Apple eventually chose option three.