iOS 7 App Icons, Launch images And Naming Convention While Keeping iOS 6 Icons
I just finished an app on iOS 6 and bought a developer account a week ago so haven’t had much time playing with the iOS 7 SDK. Just downloaded the Golden Master version and trying to upgrade my app to be compatible with iOS 7.
I realised that iOS 7 requires a little work with app icons. I have checked many related question and i am confused what to do. I already have an iOS 6 app with app icons and when i installed the golden master version i saw the following:
and for launch images:
I can create new flat icons for iOS 7 while i want iOS users to keep seeing the old ones.
What should i do? Use the “Use Asset Catalog” or add the icons manually and if i am adding the icons manually then what should i name these images? Thanks!
- using assembly code inside Objective c program (Xcode)
- Xcode 5 iOS 7 CocoaPods Linker Error
- Springboard failed to launch application with error 3, 0, 4, etc
- Thread 1: EXC_BAD_ACCESS (code=1, address=0xf00000c)
- can not Load project workspace Integrity error in xcode 5.1.1?
- linking against dylib built for MacOSX file '/usr/lib/libSystem.B.dylib' for architecture i386
4 Solutions Collect From Internet About “iOS 7 App Icons, Launch images And Naming Convention While Keeping iOS 6 Icons”
Absolutely Asset Catalog is you answer, it removes the need to follow naming conventions when you are adding or updating your app icons.
Below are the steps to Migrating an App Icon Set or Launch Image Set From Apple:
1- In the project navigator, select your target.
2- Select the General pane, and scroll to the App Icons section.
3- Specify an image in the App Icon table by clicking the folder icon on the right side of the image row and selecting the image file in the dialog that appears.
4-Migrate the images in the App Icon table to an asset catalog by clicking the Use Asset Catalog button, selecting an asset catalog from the popup menu, and clicking the Migrate button.
Alternatively, you can create an empty app icon set by choosing Editor > New App Icon, and add images to the set by dragging them from the Finder or by choosing Editor > Import.
You should use Asset Catalog:
I have investigated, how we can use Asset Catalog; Now it seems to be easy for me. I want to show you steps to add icons and splash in asset catalog.
Note: No need to make any entry in info.plist file 🙂 And no any other configuration.
In below image, at right side, you will see highlighted area, where you can mention which icons you need. In case of mine, i have selected first four checkboxes; As its for my app requirements. You can select choices according to your requirements.
Now, see below image. As you will select any App icon then you will see its detail at right side selected area. It will help you to upload correct resolution icon.
If Correct resolution image will not be added then following warning will come. Just upload the image with correct resolution.
After uploading all required dimensions, you shouldn’t get any warning.
In case you do not want to use Asset Catalog, you can add an iOS 7 icon for an old app by creating a 120×120 .png image. Name it
Icon-120.png and drag in to the project.
Under TARGET > Your App > Info > Icon files, add one more entry in the Target Properties:
I tested on Xcode 5 and an app was submitted without the missing retina icon warning.
Okay adding to @null’s awesome post about using the Asset Catalog.
You may need to do the following to get the App’s Icon linked and working for Ad-Hoc distributions / production to be seen in Organiser, Test flight and possibly unknown AppStore locations.
After creating the Asset Catalog, take note of the name of the Launch Images and App Icon names listed in the
.xassets in Xcode.
By Default this should be
[To see this click on your .xassets folder/icon in Xcode.]
(this can be changed, so just take note of this variable for later)
What is created now each build is the following data structures in your .app:
For App Icons:
AppIcon57x57.png(iPhone non retina) [Notice the Icon name prefix]
And the same format for each of the other icon resolutions.
AppIcon72x72~ipad.png(iPad non retina)
(For iPad it is slightly different postfix)
Now I noticed that in my
Info.plist in Xcode 5.0.1 it automatically attempted and failed to create a key for “
Icon files (iOS 5)” after completing the creation of the Asset Catalog.
If it did create a reference successfully / this may have been patched by Apple or just worked, then all you have to do is review the image names to validate the format listed above.
Add the following key to you main
I suggest you open your main
.plist with a external text editor such as TextWrangler rather than in Xcode to copy and paste the following key in.
<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 I have only included my example resolutions, you will need to add them all.
If you want to add this Key in Xcode without an external editor, Use the following:
Icon files (iOS 5)– Dictionary
Primary Icon– Dictionary
Icon files– Array
Item 0– String =
And for each other item / app icon.
Now when you finally archive your project the final .xcarchive payload .plist will now include the above stated icon locations to build and use.
Do not 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>
- GSSendEvent – Inject Touch Event iOS
- How to change the unselected tabbaritem color in iOS7?
- Hide Input Keyboard on iPhone Without Knowing First Responder?
- Adding two request descriptors for a given class in Restkit 0.2
- Setting translucent to NO on UISearchBar
- Constraint a UIBarButtonItem's size in the navigaiton bar with iOS 11
- Subclass UIScrollView in Swift for touches Began & touches Moved
- View on top of everything: UIWindow subview VS UIViewController subview
- How to convert bytes to a float value in swift?
- Getting ITMS-4238 “Redundant Binary Upload” error no mater what I change the build version or app version to
- AFNetworking and POST Request
- Can we detect whether a user left through the home button or lock button without listening to darwin notifications?
- Extremely long compilation times with Swift in Xcode
- Get attribute of viewcontroller created with storyboard
- Unwrap optionals in for statement