Just updated Xcode and iOS ? Getting an error like this ?
Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'xxxxxxxxxxxxxxx'. Apps built with iOS 11 or later SDK must supply app icons in an asset catalog and must also provide a value for this Info.plist key. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7.
Starting with Xcode 9 your App icons must be provided as part of your asset catalog.
Don’t worry – QtCreator helps you to manage this.
Thx @jakepetroules and @cpluke for your help at QtMob
Create Asset Catalog for your App Icons
The only thing you need is an App Icon in 1024×1024 px
Open this FREE service: https://www.appicon.build/
Drag your AppIcon onto this site and get an email with all recommended sizes – something like this:
- AppIcon.appiconset
- Contents.json
- *.png
Contents.json contains all instructions Xcode needs to know HowTo use your icon files.
Hint: For me this worked only using Safari – not from Firefox.
Add AppIcons to your Qt Project
I’m always using a project structure like this
- ProjectFolder
- ios
- info.plist
- *.png
- ios
Remove all your App Icon .png and create a new folder ‘Images.xcassets’ and place your AppIcon.appiconset folder into the Images.xcassets folder:
- ProjectFolder
- ios
- info.plist
- Images.xcassets
- AppIcon.appiconset
- Contents.json
- *.png
- AppIcon.appiconset
- ios
Edit your info.plist
Remove these keys:
<key>CFBundleIconFile</key> <key>CFBundleIcons</key>
Edit yourproject.pro
Remove the lines where you added your icons to the bundle data and insert under ios {…}:
QMAKE_ASSET_CATALOGS = $$PWD/ios/Images.xcassets QMAKE_ASSET_CATALOGS_APP_ICON = "AppIcon"
The first entry points to your Images.xcassets folder, the second one tells QMAKE that your appiconset is prefixed with AppIcon.
That’s all: now you can compile and run your project using Xcode9 on iOS11 devices.
Hint: perhaps you already used an asset catalog before and still getting an error ?
There’s a new AppIcon size of 1024×1024 required:
{ "size" : "1024x1024", "idiom" : "ios-marketing", "filename" : "Icon-App-1024x1024@1x.png", "scale" : "1x" }
Ignore
In one of my projects suddenly at root of the project this file was created:
asset_catalog_compiler.Info.plist
This is a temporary intermediate file, so it’s safe to add it to your .gitignore
Thanks for the write-up! You’ve helped me greatly!
Do you have to add CFBundleIconName
AppIcon to .plist aswell?
no – Qt constructs these values from entries in .pro:
QMAKE_ASSET_CATALOGS = $$PWD/ios/Images.xcassets
QMAKE_ASSET_CATALOGS_APP_ICON = “AppIcon”