It feels like it’s been a long time coming but Xcode 14 can automatically create the full set of app icon sizes for you from a single 1024x1024 image. Xcode 14 also adds a few extra app icon sizes.
Single App Icon
Starting with Xcode 14, when you create a new iOS project, the app icon in the asset catalog defaults to the new “Single Size”. Instead of the full set of icon sizes there’s a single slot for a 1024×1024 point image that the system resizes as needed.
You can also double-click an image slot to directly open the file panel to choose the image file. Hard to believe that wasn’t possible until now.
Here’s the announcement in the Xcode 14 release notes:
Simplify an app icon with a single 1024x1024 image that is automatically resized for its target. Choose the Single Size option in the app icon’s Attributes inspector in the asset catalog. You can still override individual sizes with the All Sizes option. (18475136) (FB5503050)
The single size mode also exists for watchOS but sadly not for macOS:
The single size app icon mode is great for icons that don’t need pixel level adjustments when resized. It’s also great for placeholder icons during initial app development. When you need to be more accurate you can switch to “All Sizes”:
That reverts to showing the full set of app icon sizes:
You don’t need to fill all the slots, just add the ones where you want to override the automatically resized image.
Xcode 13 Mode
When you open a project in Xcode 14, that you created with Xcode 13 or earlier, the asset catalog shows the app icon in an “All Sizes (Xcode 13)” mode:
You can choose to switch to the single size app icon mode or upgrade to the full Xcode 14 “All Sizes” mode. If you choose the “Single Size” mode the asset catalog deletes all icon sizes except the 1024x1024 image.
New App Icon Sizes
If you upgrade an Xcode 13 or earlier project to the Xcode 14 “All Sizes” mode you’ll notice you have a few extra slots for new sizes added in Xcode 14:
The four new app icon sizes:
- iOS 38pt 3x (114x114px)
- iOS 64pt 2x (128x128px)
- iOS 64pt 3x (192x192px)
- iOS 68pt 2x (136x136px)
It’s not clear to me what these new sizes are for? You don’t have to add images for them but if you don’t you’ll get the resized version of the 1024x1024 image.
The release notes mention a known issue with App Store validation if you target earlier than iOS 12 or watchOS 4:
Apps using a single-size app icon can fail App Store validation if the deployment target is older than iOS 12 or watchOS 4. (98471456)
I’ve not verified if the issue still exists but it may be worth avoiding the single-size app icon if you’re still supporting iOS 11 or older.