Can't run app with single icon configuration
Bug Report
Problem
cordova run ios fails after adding <icon src="resources/icon.png" /> to config.xml. I've provided the resources/icon.png file, relative to the Cordova project root.
CLI error message:
The following build commands failed: ..../cordova/platforms/ios/build/emulator/TheWorkoutApp.app ..../cordova/platforms/ios/TheWorkoutApp/Images.xcassets (1 failure) xcodebuild: Command failed with exit code 65 error Command failed with exit code 65.
Environment, Platform, Device
cordova 10.0.0 cordova-ios 6.1.1 Mac 11.1 (intel)
Checklist
- [x] I searched for existing GitHub issues
- [x] I updated all Cordova tooling to most recent version
- [x] I included all the necessary information above
iOS doesn't support a single-icon configuration. You must provide icons of different sizes. These icons are used by the OS in different scenarios. The OS expects these icons to be precisely in specific resolutions with specific filenames.
Useful Links:
- https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/
- https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/
- https://cordova.apache.org/docs/en/latest/config_ref/images.html#ios (Example is missing modern icon sizes)
Closing as not a bug / won't fix.
Oh, I was just following the documentation here which says:
The following configuration can be used to define a single default icon which will be used for all platforms.
<icon src="res/icon.png" />
I guess that warrants reopening this to at least investigate what is correct.
Using a single icon definitely shouldn't be recommended though. There is reasons why platforms expects specific sizes.
They certainly do, but as you might know, when working natively, they provide tools to generate all other icons variants based on a single one.
If Cordova would do that for all platforms, that'd be bery bery nice : )
You must provide all the icons sizes that iOS requires. The docs are incorrect about being able to specify a single icon.
While it would be great for Cordova to automatically generate icons, that's a lot of code to test and maintain and update every time Apple changes their requirements, and I don't realistically think we should take on that additional maintenance burden.
While it would be great for Cordova to automatically generate icons, that's a lot of code to test and maintain and update every time Apple changes their requirements, and I don't realistically think we should take on that additional maintenance burden.
There are already third-party tools that does just this as well. Ionic maintains a tool which appears to be relatively up to date: https://www.npmjs.com/package/cordova-res
I understand, folks. I'd rather have you focus on substantial things. I guess this issue boils down to adjusting the docs a bit.
I understand, folks. I'd rather have you focus on substantial things. I guess this issue boils down to adjusting the docs a bit.
Agreed, I'll move this issue over to our docs repo.
I guess that warrants reopening this to at least investigate what is correct.
Using a single icon definitely shouldn't be recommended though. There is reasons why platforms expects specific sizes.
I spent so much time on this only to find out the documentation hasn't been updated in 3 years. It's still up there saying you can use a single icon for both platforms and IOS keeps complaining.