Missing CFBundleIconName in Xcode9 iOS11 app release

IosXcodeApp Store-ConnectIos11Xcode9

Ios Problem Overview


I'm struggling to release a new version of our app using Xcode 9 built with iOS 11 SDK. Archiving and uploading the binary goes well without any issue. The build appears in iTunes Connect under Activity as 'processing' and it gets disappear and I get the following email back.

> Dear developer, > > We have discovered one or more issues with your recent delivery for > "". To process your delivery, the following issues must be > corrected: Missing Info.plist value - A value for the Info.plist key > CFBundleIconName is missing in the bundle ''. Apps that > provide icons in the asset catalog must also provide this Info.plist > key. For more information see > http://help.apple.com/xcode/mac/current/#/dev10510b1f7. Once these > issues have been corrected, you can then redeliver the corrected > binary. Regards, The App Store team

The link gives some info about asset bundles. I tried setting a CFBundleIconName key to project name or an image file name and submitted the app again. However, I still get the same email as above.

Any suggestion of help would be highly appreciated.

Ios Solutions


Solution 1 - Ios

I struggled with this all day and into the night trying every permutation I could think of and finally found this solution - hopefully this will save someone from going through this nightmare.

My app was not previously using an xcassets catalog so I had added one to the project when trying to address this issue by using File - New - File... and choosing an asset catalog from the types of files - I named it Assets.xcassets and chose it in the xcode project. Then right clicked in the area on the right and chose to add App Icons & Launch Images then New iOS App Icon and then in that I dragged my 1024x1024 image to the well for app store iOS 1024pt slot which you would think would have worked. but I still got rejected emails after archiving and submitting to the store.

Missing Info.plist value - A value for the Info.plist key CFBundleIconName is missing in the bundle. bla bla bla...

I also had added the key to the Info.plist for "Icon Name" which is also known by CFBundleIconName and set it to a string filename that matched my 1024x1024 image in the project. But none of that worked even though checking the IPA contents showed everything correctly in place.

finally I deleted the AppIcon from my catalog called Assets.xcassets so that it was empty and did the following to fix the issue:

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.

go to the asset catalog by clicking on it - again mine was Assets.xcassets and then click on the AppIcon section and drag your 1024x1024 image into the App Store iOS 1024pt well / slot. archive your app one last time and submit it to the app store - at that point hopefully won't get anymore emails from hell as I started calling them about rejection of your app and you can return to iTunesConnect to submit your app.

Good luck - I empathize with the pain you might be feeling with this mostly cryptic error when you have tried lots of reasonable fixes that just didn't pan out. Such is the life of a software engineer sometimes... ;)

if it was easy everyone would do it, right. ;)

Solution 2 - Ios

Simplest solution is to add CFBundleIconName key in plist and fill all AppIcon slices in assets catalog.

Info.plist :

<key>CFBundleIconName</key>
<string>AppIcon</string>

enter image description here

enter image description here

Download Working AppIcons Assets Here

Solution 3 - Ios

I figured it out that since Xcode 9 iOS 11 builds require iTunes Connect App Icon to be bundled with the binary itself which could have been added to iTunes Connect directly in the earlier versions of Xcode (XCode 8.3.3 ane earlier).

> 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.

The required App Store icon should be placed in an asset catalog located in the app bundle.

Adding App Store Icon

So, the CFBundleIconName should be now set to AppIcon (default value) or any value you set.

Adding only that image will not pass the iTunes Archive upload process so we need to add all the App Icons images of the following sizes:

  • 20pt 1x, 2x, 3x
  • 29pt 1x, 2x, 3x
  • 40pt 1x, 2x, 3x
  • 60pt 1x, 2x, 3x
  • 76pt 1x, 2x
  • 83.5pt 2x
  • 1024pt 1x

So, now it is time to use asset catalog to specify app icons.

Solution 4 - Ios

I was getting the same email whenever I submitted a binary for a new version of one of my apps. I tried all the remedies listed here, but nothing worked. Then I made one more change that worked.

In the Target . . . Build Settings . . . Asset Catalog Compiler - Options section, make sure the name of the asset catalog that contains the icons is shown in Asset Catalog App Icon Set Name. For some reason, my Asset Catalog App Icon Set Name was blank.

Solution 5 - Ios

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 older projects without assets catalog there will be issues while submitting to Appstore

In Project —> Target Properties - General tab—> App Icons and Launch Image. App Icons —> Select Use Asset catalog Then it will ask to convert (migrate) with an alert and creates a .xcassets file. Check 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. Add the app icons and other icons to it

Solution 6 - Ios

I have got the same issue and solved it as follows.

Here is the step by step guideline.

Step 1:

Create an icon with 1024*1024.png

Step 2:

Upload this png to the https://www.appicon.build/ website and drag and drop on screen.

enter image description here

Step 3:

It will ask you to enter your email address. Enter it and then after few seconds, you will get all the required image sizes into your mailbox. Download that zipped folder and unzipped it.

Step 4:

Go back to your project on Xcode and add this unzipped folder(called AppIcon.appconset) into the resources folder in your xcode project.

enter image description here

Step 5:

Double click on Asset.xcassets folder and drag and drop required images on the image placeholder for 2x and 3x images from the generated images.

enter image description here

You are good to go!...

Solution 7 - Ios

I too have encountered the "Missing Info.plist value - A value for the Info.plist key CFBundleIconName is missing in the bundle..." error and wanted to leave a concise answer to hopefully help the next person.

The app was not using an asset catalog. Although that is not what this error says, that is what is required to resolve this issue, but how you add the values is important. It is not enough to manually add this missing key\value to the .plist; there is more to it than that. You also need to remove the CFBundleIcons value from your .plist. This can be done manually, but I recommend using the XCode interface to edit this through the Project Properties - General App Icons and Launch Image. That is how I got mine to work.

Below is a screen shot of the changes this made to my .plist.

enter image description here

App Icons and Launch Images
enter image description here

Add a new Asset Catalog to your project if you do not already have one.
Click the app name at the top of your Navigator window
Select the GENERAL tab
Scroll down to the "App Icons and Launch Images" section
Click the "use an asset catalog" button
NOTE: I had created my own asset catalog and iOS App icon image set, but linking to the existing one didn't work for me as it created a new image set which had empty values\images. I had to delete them all and let this process create them for me. If you are just now adding an asset catalog to resolve this issue, let this process create it for you, don't manually add the image set.

Click to convert\migrate the app
After clicking the button, nothing refreshed automatically for me. I navigated away and then back to the settings screen and values were now assigned in the dropdown list.

Now open your new asset catalog by clicking on it
Click on the "AppIcon" section and drag your required images to the appropriate locations.

You will need the 1024x1024 image for the App Store iOS 1024pt icon and any other iPhone\iPad\Universal app required icons. The 1024x1024px image is also known as the Marketing Icon. You cannot submit your app without it.

You should now be able to archive your app and submit it to the app store.

Solution 8 - Ios

Now in IOS 11, we need to add a new icon in our project of size 1024x1024.

Ensure that the Icon files are removed from resources folder in source code bundle and also Icons files key in info.plist is cleared. Also add CFBundleIconName key in plist as below

Info.plist :

<key>CFBundleIconName</key>
<string>AppIcon</string>

Also in the Project - Target—>Build Settings —> Asset Catalog Compiler - section, make sure the name of the asset catalog that contains the icons is shown in Asset Catalog App Icon Set Name.

Solution 9 - Ios

For anyone who the above answers did not help(spent a good bit of head-wall banging on this one):

Make sure to check the target membership of your assets directory! If you do not correctly link the membership here, you will get this same super-generic error(Apple should do something about the error messages).

enter image description here

The target membership should correlate directly to targets for which you are using the icons. For example, I use this single directory for both my main app, and watch app assets, you must specify this by selecting the appropriate member.

You do not need to edit the plist at all, most of these answers are misleading.

Hope this helps someone who hits this!

Solution 10 - Ios

Follow the steps below.

  1. In your Project add new file>>Asset Catlog.

  2. Goto Click on your project in XCODE>>General>>App Icons. See [screenshot][1]. [1]: https://i.stack.imgur.com/DIoEj.png This will create AppICon and LaunchImage Specifications automatically inside your Asset after that you can drag and drop your Appstore icon and other icons in it.

  3. Also Add
    <key>CFBundleIconName</key> <string>AppIcon</string>.

This entry in your plist file.

Upload Your Binaries to Itunes.

Solution 11 - Ios

I have finally come up with a clean solution to this problem which requires adding no keys to info.plist such as CFBundleIconName. I did this while updating an old app in the app store to build against SDK 11.2 (and believe me there was a fair amount of frustration involved). I'm using Xamarin in Visual Studio on a PC but this solution should work in any other IDE or framework e.g. XCode. The gist of the solution is that info.plist file and Resources folder no longer need to play any role as far as app icons and launch images are concerned. In fact you can remove CFBundleIconFiles key from info.plist file and it will not make any difference to your project.

Here are the steps you need to follow:

  1. Make a copy of your app icons and launch images and store them in a separate location.

  2. For a clean start delete references to app icons and launch images from info.plist, which means deleting values under CFBundleIconFiles key.

  3. Delete app icons and launch images from Resources folder.

  4. Use delete option to delete any 'Assets' or 'Media' you have declared under 'Asset Catalogs'.

  5. A folder by the name of Assets.xcassets or Media.xcassets (or similarly named .xcassets folders) might still be present in your project. They would either be outside or inside the Resources folder. Delete all .xcassets folders.

  6. Now open your project file in an editor like notepad (i.e. .csproj in Visual Studio) and see if there are any references pointing to files in .xcassets folder. Delete all such references. Also check that there are no references pointing to app icons or launch images under Resources folder in this file and delete them as well.

  7. Check to make sure XSAppIconAssets and XSLaunchImageAssets keys are no longer present in info.plist. Delete them if they are still present.

  8. At this point you have removed any previous files or references to your app icons and launch images from your project. If they are still present please go back and delete them. Now to start afresh create a new 'Asset' or 'Media' under 'Asset Catalogs' which creates a .xcassets folder in your project. Copy your app icons (and launch images if required) from step 1 into respective folders under your new .xcassets folder. Make sure all required images are included.

  9. Check to make sure info.plist now contains XSAppIconAssets (and XSLaunchImageAssets if needed) key values for the new 'Asset' you have created. Your project file (which is .csproj in Visual Studio) should now contain references to each image you added to your new 'Asset'. There is no need for any extra images than those required by the project. I would suggest deleting any extra images from your Assets.

  10. If you added a key named CFBundleIconName as mentioned in other solutions then please delete this key from info.plist. It is not required. Now you are ready to submit your app to the store.

Solution 12 - Ios

No need to edit info.plist. The icon related errors would be resolved by filling in all the images placeholders for AppIcon in images.xcassets.

Solution 13 - Ios

There was an issue with Visual Studio 17(v-15.2) once you update it version > 15.2 you will see an App-Icon-1024x1024 place holder in AssetCatalog > Media> AppIcons

enter image description here

Solution 14 - Ios

Every app developer uses the famous "Icon Dog"

(it's a shame they changed the name!)

>enter image description here

https://itunes.apple.com/us/app/app-icon-set-creator/id1052532083?mt=12

It's far and away the #1 most popular app used by iOS devs, kind of a cult.

It immediately solves all problems.

Solution 15 - Ios

In my situation; after you have done all these things in this page, don't forget to archive your project again :)

Solution 16 - Ios

If anyone is, like me on this page amongst many because you cannot get an app pushed to the app store -- and when you do, you get an email about missing asset catalog.... 16.10.0 is completely broken. 16.11.0 preview does not fix it either. I have one Xamarin project still publishable, but I suspect if I deleted the build cache on my mac it wouldn't ever work again. After 5 days solid, I downgraded to 16.8.6 (likely did not need to go that far back). I started getting useful warnings about images again, and my asset catalog not only generates an asssets.cer, but the bundle has the catalog properly added. Whether it started working from visual studio or the mono downgrade to the old version, I do not know, but hopefully this saves someone the wasted days I endured trying to adjust info.plist, catalog.json, .csproj, wiping mac side caches, inspecting published files, 1000's of build/archive/transports, and renaming and double-checking thousands of icon files, completely rebuilding projects, etc.. You can work around the missing asset catalog by implementing the CFBundle icon files if you manage to get them perfect, but if you succeed at that, you will upload the app, it will promptly disappear, and appstore connect will email you that all apps now need asset catalogs.

Solution 17 - Ios

For me the key was to check the target membership checkbox of Assets.xcassets

Solution 18 - Ios

For Xcode 9.2 for iOS 11 apps, a couple points should be clarified.

1- This error should be from not having icon assets in an Asset Catalog.

(Got this error by submitting an app with no asset catalogs).

2- This error is solved by adding an asset catalog with the required icons.

(In my case, it was an iPhone-only app, and I added some placeholder images that were 120x and 180x).

3- This error is not related to the 1024x1024 "App Store Icon"

(When you forget the larger store icon, a separate, specific error will be displayed, not this error).

4- Contrary to the Apple documentation, even with (Xcode 9 + written for iOS 11), you can also use the website to submit the App Store icon.

(The separate specific error mentioned above is triggered by the lack of an icon, not the absence of the icon in the submitted build).

5- missing CFBundleIconName in Info.plist was not changed.

Solution 19 - Ios

I had also a lot of problems on this matter - I was constantly getting the error with the missing CFBundleIconName and that my Icons where not found. So here is my story, maybe it will be of help for somebody. By the way, I am using Visual Studio with Xamarin.

  1. Add an Asset Catalogue to your Project with AppIcons (the actual name of the asset is not important but just that it is for the application icons). Add all of the necessary icon sizes. For the 'App Store' icon I have added an icon without a @ in the name as someone in the forums suggested, but I am not sure, if it is 100% necessary. For generating the different icon sizes there are a lot of Websites and tools that can do that for you and you just need to provide the 1024x1024 one. They will generate the rest.

  2. In the Info.plist under 'Visual Assets' and then 'App Icons' set the source to the asset that you have just created.

  3. Now check your Info.plist. Do not open it with an external Editor, because all of your changes will be overwritten once you build your project. Do the following - right mouse click on the Info.plist in the Solution Explorer then select Open With -> Generic PList Editor.

  4. Check that you have the following entries:

-Property = CFBundleIconName, Type = String. Value = Assets.xcassets/AppIcons.appiconset -Property = XSAppIconAssets, Type = String. Value = Assets.xcassets/AppIcons.appiconset

  1. Note that Visual Studio automatically adds, when it adds something altogether, 'Resources/Assets.xcassets/AppIcons.appiconset' as the Value. But in my case the Asset Catalog was created outside of the Resources folder and therefore, my icons where not found. So, check where your assets folder was created.

  2. CFBundleIconFiles was not needed, because Apple uses the Asset Catalog instead now.

I hope that I was of some help :)

Solution 20 - Ios

I used the answer by @Omair and it is spot on, however, I then was getting errors that various icons were not found. The problem was a bug with VS2017 when creating an asset catalog. When adding a new asset catalog, the catalog folder is created under the root of the project, not under /resources. However, the entry in info.plist has the path as under /resources. Once I removed /resources from the path to my asset catalog all worked fine. Hope this helps someone!

Solution 21 - Ios

I'll reply in the scope of Xamarin for fixing this issue - which is similar but not identical to Xcode. Using VisualStudio Community (16.6 Windows/ 8.6.1 macOS) with Xcode 11 installed on macOS

Adding the CFBundleIconName in the Info.plist is no help, this key is no longer used nowadays (for builds targeting iOS 11 and above, only Assets.xcassets is used - it also can be Media.xcassets, you choose whatever you want, but i'll reference it as Assets.xcassets).

My issue was: although it was visually nice in Assets.xcassets view, the images were not corrects. As soon as i tryed manually to reaffect them i had a format error.

Xamarin is handling, well... let's say confusingly the Asset.xcassets into the .csproj file. Sometimes referencing Contents.json file is not enough to describe all assets, you have to import every single file too, so it can work on PC, but not on Mac and vice-versa. There is space to improve assets management between Visual Studio PC, Visual Studio Mac and Xcode.

I re-generated all icons, and inserted one by one to the Assets.xcassets view by hand.

Of course, in addition, Info.plist, you must have the following key:

<key>XSAppIconAssets</key>
<string>Media.xcassets/AppIcons.appiconset</string>

Then i rebuild all and voilà, it worked.

Tip to see if icons are generated correctly before uploading to AppStoreConnect is to deploy to simulator, or, in Xcode->Organizer tool to check if the IPA got the proper icon. Otherwise this is dev "no icon", and it won't be okay.

Also, some websites for app icon generation are not containing everything i needed. Finally, i used this one for quick tests (but i prefer local tool - see above): https://www.iconsgenerator.com/Home/AppIcons

Also, because you could have issue uploading without Launchimage (related to storyboard, and also stored in Asset.xcassets, there is a wonderful app allowing both generation of App Icons and Launch Images: https://github.com/raphaelhanneken/iconizer

Solution 22 - Ios

In My case issue was that I had a PNG image for the App Store Marketing Icon (1024x),

You must use jpeg, Non-transparent image for this App Store icon (1024x), and the issue went away.

Solution 23 - Ios

Nothing above worked for me. I needed to remove the value for Development Assets from Build Settings.

Solution 24 - Ios

  1. Deleted the existing "Assets" folder under Asset Catalogs

  2. "Add New"'d an empty "Asset Catalog"

  3. followed Managing Icons with Asset Catalogs

  4. info.plist updates: +1 your version and build #'s and add icons placed in Resources as "required?" by some earlier iOS's

    <dict>
        <key>CFBundlePrimaryIcon</key>
        <dict>
      	    <key>CFBundleIconName</key>
    	        <string>AppIcon</string>
    	    <key>CFBundleIconFiles</key>
    	<array>
    		<string>Icon152</string>
    		<string>Icon167</string>
    		<string>Icon76</string>
    	</array>
    </dict>
    

To which Apple replied:

> The following build has completed processing: Platform: iOS App > Name: FltLogger Build Number: 1.6

Putting this here as much for me next time as to help out. Happy hunting...

Solution 25 - Ios

I had this issue with a Flutter app when trying to upload an archive.

Fix:

  • Add the following to Info.plist
<key>CFBundleIconName</key>
<string>AppIcon</string>
  • Tools > Flutter > Flutter Clean
  • Tools > Flutter > Open iOS module in Xcode

Create a new archive and upload.

Solution 26 - Ios

In my case I tried everything, the only thing that worked is that i had to delete the whole xassets folder and create a new one with the icon files in it.

Solution 27 - Ios

If you are still facing with the issue and you are using XCode 13, maybe the solution is to remove the info.plist key. I explain more here: https://stackoverflow.com/a/71016589/15860448

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestioneracubeView Question on Stackoverflow
Solution 1 - IosRichie HyattView Answer on Stackoverflow
Solution 2 - IosGuruView Answer on Stackoverflow
Solution 3 - IoseracubeView Answer on Stackoverflow
Solution 4 - IosGlennRayView Answer on Stackoverflow
Solution 5 - IosNeha VipinView Answer on Stackoverflow
Solution 6 - IoscasillasView Answer on Stackoverflow
Solution 7 - IosR. BauerView Answer on Stackoverflow
Solution 8 - IosNeha VipinView Answer on Stackoverflow
Solution 9 - Ioshisairnessag3View Answer on Stackoverflow
Solution 10 - IosPramod ChaudhariView Answer on Stackoverflow
Solution 11 - IosOmairView Answer on Stackoverflow
Solution 12 - IoszeeawanView Answer on Stackoverflow
Solution 13 - IosZygoteInitView Answer on Stackoverflow
Solution 14 - IosFattieView Answer on Stackoverflow
Solution 15 - IosEmre SarıçiçekView Answer on Stackoverflow
Solution 16 - IosVictor Thomas Wilcox Jr.View Answer on Stackoverflow
Solution 17 - IosNikView Answer on Stackoverflow
Solution 18 - IosbencView Answer on Stackoverflow
Solution 19 - IosSoniaView Answer on Stackoverflow
Solution 20 - IosMark EricksonView Answer on Stackoverflow
Solution 21 - IosGraveenView Answer on Stackoverflow
Solution 22 - Iosmahen3dView Answer on Stackoverflow
Solution 23 - IosBorut TomazinView Answer on Stackoverflow
Solution 24 - IosStevoKeanoView Answer on Stackoverflow
Solution 25 - IosAdedayoView Answer on Stackoverflow
Solution 26 - IosAlen SaqeView Answer on Stackoverflow
Solution 27 - IosSebastián García BurgosView Answer on Stackoverflow