Missing Info.plist value CFBundleIconName

(EDIT: After some help from KMT, I made some changes to my project, but KMT then deleted the whole thread, including all of my posts, except for this initial message, so I'm updating this message to reflect those latest changes.)


I'm trying to submit a new build of an iOS app. The upload succeeds, but then I get an email from iTunes Connect, containing this message:


Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'com.yourcompany.Free42'. 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.


I have created an asset catalog, named Assets.xcassets, at the top level of my project.

In the file inspector, I made sure that it is a member of my main target.

I added a new App Icon to the catalog, keeping its default name AppIcon, and in the attributes inspector, checked the iPhone and pre-rendered options.

I populated all nine required icons with files with the correct sizes: 40 and 60 (20pt x2, x3), 58 and 87 (29pt x2, x3), 80 and 120 (40pt x2, x3), 120 and 180 (60pt x2, x3), and 1024 (app store image).

In addition, at the top level of the project, outside of the asset catalog, there is a file named icon.png, which is the 120x120 pixel version.


In my Info.plist, these are all the icon-related entries:


<key>CFBundleIconName</key>

<string>AppIcon</string>

<key>CFBundleIconFile</key>

<string>icon.png</string>

<key>UIPrerenderedIcon</key>

<true/>


What am I missing?

It turns out the secret sauce is this:


https://stackoverflow.com/questions/46216718/missing-cfbundleiconname-in-xcode9-ios11-app-release


specifically:


> Go to the main setting for the app by clicking your app name and then selecting the GENERAL tab then under App Icons and Launch Images section click the button beside App Icons source and choose to use an asset catalog - select the name of your asset catalog - mine was called Assets.xcassets - and say to convert (migrate) the app with the button on that popup - I also checked the box to convert launch images too - when you are done the App Icons Source and the Launch Images Source will have names in the dropdown list.


This sets things up so that they actually work.

I suppose I could now spend another whole day trying to find out why that works and everything I tried before didn't, or why there doesn't seem to be any documentation that says how this is supposed to work... But I've just spent a whole day getting this to work, and I now I have a headache. If this is useful to anyone: you're welcome. If not, complain to Apple about not documenting this.

>doesn't seem to be any documentation


• Tech QA 1696 'App Icons on iPhone, iPad and Apple Watch' discusses Migrating an iOS App Icon Set (last updated 12.2016 for Xcode 8).


• This link https://developer.apple.com/ios/submit/ says this about Xcode 9 and the app store icon:

"Add your App Store icon. With Xcode 9, your App Store icon which is used to represent your app in different areas of the App Store, should be included as part of your project bundle, not iTunes Connect. For more information, see the Xcode Help Guide."


The HIG then, says this about that:

"If you distribute your app through the App Store, add the App Store icon to an asset catalog located in the Xcode project. The location of the icon is different depending on the platform.

For iOS and watchOS apps built using Xcode 8.3.3 and earlier, you add the App Store icon in iTunes Connect. For macOS and tvOS apps, you add the App Store icon to the Xcode project but the location in the asset catalog is different than apps built with Xcode 9 and later."


Not much detail, as you found, when the dev only has the iTC error to go on (even if it was accurate). Bit confusing when one doc, simply hints w/no detail, "should be included as part of your project bundle", thenanother says "add the App Store icon to an asset catalog located in the Xcode project." Hopefully they're not working an interim process that will change again soon, using it as an excuse to avoid updating the HIGs & iTCDGs. Or maybe they're banking changes to the guides until they have enough to pull the trigger...or maybe they've just given up and it's yet again up to devs to hunt the wumpus - who knows.


Glad you sorted it out - thanks for the followup and good luck in the store.


Ken

Missing Info.plist value CFBundleIconName
 
 
Q