Missing AppIcon in the organizer

I recently migrated my application to support iOS7, and during this process updated my application icons to use the Asset Catalog; which works great in the app. However, in Organizer and TestFlight my app icon is missing.

Missing AppIcon in Organizer

The same thing happens in TestFlight, which means that something is missing in my package. Any help would be greatly appreciated.

+14
ios xcode5
Sep 25 '13 at 10:04 on
source share
3 answers

It seems you still need to have an Icon files entry in the application panel that points to an icon that is a resource in the application; although Xcode removed this when I converted to a directory; here is the record I created manually while maintaining the asset catalog:

plist entry

Note that I tested this with different icons, and this option does not affect the icons that the application actually uses at runtime; this entry is apparently only used by Organizer and TestFlight, thereby solving my problem.

+13
Sep 25 '13 at 17:04 on
source share

Yes, using the Asset Catalog , you may need to do the following to link the application and work with Ad-Hoc distributions / production , which will be displayed in the Organizer , a test flight and, possibly, in unknown places of the AppStore.




After creating the asset catalog, pay attention to the names of the startup images and applications listed in .xassets in Xcode.

By default it should be

  • AppIcon
  • LaunchImage

[To see this click on your .xassets / icon folder in Xcode.] (This can be changed, so just pay attention to this variable later)




Now every assembly of the following data structures in your .app is created:

Application Icons:

iPhone

  • AppIcon57x57.png (iPhone is not a retina) [Note the icon name prefix]
  • AppIcon57x57@2x.png (iPhone Retina)

And the same format for each of the other icon permissions.

Ipad

  • AppIcon72x72~ipad.png (iPad is not a retina)
  • AppIcon72x72@2x~ipad.png (iPad Retina)

(For iPad, this is a slightly different postfix)




Main problem

Now I noticed that in my Info.plist in Xcode 5.0.1, it automatically tried and was unable to create a key for β€œ Icon files (iOS 5) ” after completing the creation of the asset catalog.

If he really created the link successfully, it may be fixed by Apple or it just worked, then you only need to look at the image names to check the format indicated above.

Final decision:

Add the following .plist key to you

I suggest you open the main .plist with an external text editor such as TextWrangler, and not in Xcode, to copy and paste the next key.

 <key>CFBundleIcons</key> <dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>AppIcon57x57.png</string> <string>AppIcon57x57@2x.png</string> <string>AppIcon72x72~ipad.png</string> <string>AppIcon72x72@2x~ipad.png</string> </array> </dict> </dict> 

Please note that I have included only my examples of resolutions, you will need to add all of them.




If you want to add this key to Xcode without an external editor, use the following:

  • Icon files (iOS 5) - Dictionary
  • Primary Icon - Dictionary
  • Icon files - Array
  • Item 0 - String = AppIcon57x57.png And for every other item / application icon.



Now that you have finally archived your project, the final .xcarchive .plist payload will now include the above icon locations for assembly and use.

Don't add the following to any .plist: just an example of what Xcode will now generate for your final payload

 <key>IconPaths</key> <array> <string>Applications/Example.app/AppIcon57x57.png</string> <string>Applications/Example.app/AppIcon57x57@2x.png</string> <string>Applications/Example.app/AppIcon72x72~ipad.png</string> <string>Applications/Example.app/AppIcon72x72@2x~ipad.png</string> </array> 
+6
Nov 04 '13 at 23:12
source share

Another possible hiccup with the transfer to the Asset Catalog .

There are two ways to define icons in project settings: CFBundleIconFiles with iOS3 and CFBundleIcons with iOS5. Older, despite being older, contrary to common sense about backward compatibility, it still takes precedence . I used CFBundleIcons before going directly to the asset catalog. And after I moved around, I deleted the source files that CFBundleIcons points CFBundleIcons , because, you know, now I have a brilliant new Asset Catalog, right? And Xcode did three things:

  • it hides the visual editing of the former CFBundleIcons from the general project settings. Why do you need it when you have already chosen a brilliant new Asset Catalog, right?
  • it does not delete the source key CFBundleIcons Info.plist, however, by selecting "Asset Directory", you say clearly and loudly that you are not going below iOS5
  • it also does not verify the specified key. No red cross-links anywhere, because the project settings user interface that can display them no longer displays

The result will be a hidden, visually immutable, possibly obsolete / incorrect key in Info.plist , which takes precedence over which asset catalog is created for you .

Open your Info.plist manually and remove CFBundleIcons , rebuild, reload and go in, the icon will return.

+2
Feb 12 '14 at 17:40
source share



All Articles