Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Launch screens supporting iOS6 and iOS7 - forced to splash screen

Tags:

When it comes to the launch screen I can't find a unifying way to mimic the look of the application on both iOS6 and iOS7 (supporting both). Are we forced to make a regular splash screen of a logo or similar if we have a toolbar menu or do you guys have any great ideas how to solve it?

like image 808
FBL Avatar asked Sep 24 '13 08:09

FBL


People also ask

What is difference between splash screen and launch screen?

Splash Screen is the very first screen the user sees when they open up an app on a mobile device. It's the very first chance of creating a positive impact on the users. It appears while the app is loading when the user has just opened up the app. Many times the Splash screen is called a launch screen.

Is splash screen mandatory?

No, it is not required to set a launch image.

What does splash screen on startup mean?

The splash screen is generally just a display screen to orient users and give them something to look at while hardware is working to present the software to them. A splash screen is also known as a start screen or startup screen.

Do apps need a splash screen?

Conclusion. The mobile app splash screen is an essential part of the product that gives users a clear idea about the application. Designers should always look into the possibility of creating a meaningful and understandable app splash screen so that the user experience will be delightful from the very beginning.


2 Answers

Short answer

In iOS 7, an app can use a different launch image depending on which version of iOS it’s running in. To provide different launch images, add the UILaunchImages key to the Info.plist file and use a dictionary to describe each launch image.

Background

It uses the following keys:

UILaunchImageName - A string containing the name of the PNG image file. The image file must reside at the top level of the app bundle. The name you specify for this key should not include a filename extension, nor should it include modifiers such as @2x, -568h, ~iphone, or ~ipad.

On disk, your image filenames may still include the @2x, -568h, ~iphone, or ~ipad modifiers as appropriate, although they are not required. The system automatically accounts for such modifiers when choosing which file to load.

UILaunchImageMinimumOSVersion - for iOS7 this should be a string “7.0”.

UILaunchImageOrientation – String containing one of: Portrait, PortraitUpsideDown, Landscape, LandscapeLeft, LandscapeRight.

UILaunchImageSizeString specifying width and height, ex: “{320, 480}”. You must specify the width and height with respect to the device in a portrait orientation. In other words, portrait and landscape images targeting the same device would have the same width and height.

If this key is present, iOS 7 uses it exclusively to obtain launch images.

BUT: I found that sticking to the naming convention also for iOS7 helped a lot!

This key is supported in iOS 7.0 and later.

OK – so now what?

Because I already had launch images for iOS6 and with all their specific naming conventions. I chose to make a copy of all of them and prefix the name with ”iOS7-” so as to limit my own confusion about all the different sizes and names. Making a prefix should prove to come in handy as then most of the images would immediately be loaded correctly.

The filenames: I had these for iOS6 already, I also list the file sizes for those in need:

So I made a copy of all of these filenames for iOS7 (same sizes) prefixing them with "iOS7-":

In XCode

Now to create your entry in PLIST. Go to your-name-of-application.plist. In a blank area, right-click and choose ”Add Row”. Make sure it becomes a top item and not a sub-item of some other information in the .plist.

Write: UILaunchImages

Right-click on this UILaunchImages and select value type ”Array”.

Use the illustration below as a guide to the text and for how it will look when it is all finished:

enter image description here

If you open up this array so the little indicator triangle to the left points down, it is empty the first time, but if you choose ”add row” while it is open it will create a sub-line. Do that now:

Right-click on the UILaunchImages and select ”Add row”. Right-click on this new line (item 0) and select value type ”Dict”

Continue opening this items with the triangle indicator and right-click and ”Add row”

This item you will name UILaunchImageMinimumOSVersion and set value type to “string” and the string to “7.0”

Now the following are all strings and should be at the same level as the UILaunchImageMinimumOSVersion item. In the same dict (dictionary). Create these by just choosing “Add row” for each:

UILaunchImageName – base-name-of-iOS7-launch-image. In my case this was ”iOS7-Default”

UILaunchImageOrientation - example: Portrait

UILaunchImageSize - the size of the elementary base iOS7-Default.png: "{320, 480}". The program will find all the files with permutations of the base name. Remember to select the base name of the file without ipad/iphone/portrait/landscape or .png specifications.

Note:

Xcode had already made the following items in the .plist for me after first adding iOS6 images in all available slots :-)

UILaunchImageFile~ipad … = ”Default” – so this was OK

UILaunchImages~ipad … Had two items that needed to be updated to iOS7 versions, because they where now incorrectly holding the iOS6 version. Those I had named Default1024x768 and Default768x1024 and now I just prefixed ”iOS7-” to each of the names and I was done.

Example of how it may look for those wanting to edit plist directly:

<key>UILaunchImages</key>   <array>     <dict>       <key>UILaunchImageMinimumOSVersion</key>       <string>7.0</string>       <key>UILaunchImageName</key>       <string>iOS7-Default </string>       <key>UILaunchImageOrientation</key>       <string>Portrait</string>       <key>UILaunchImageSize</key>       <string>{320, 480}</string>     </dict>   </array> 

[edit by jd: fixed spelling of "UILaunchImages"]

like image 171
WWW Avatar answered Jan 02 '23 19:01

WWW


Highlight the project in the project browser, select "General", scroll down to "App Icons", click on "Use Asset Catalog", and select "Migrate". Your existing icons and splash screens will be automagically migrated into an asset catalog. You can then select the catalog to add further images.

To add new images you simply drag from Finder and drop into the squares for each image type.

(Caution: The catalog editor inexplicably uses a non-scrollable wide format, and you can be missing stuff off the right side if your screen isn't wide enough.)

like image 42
Hot Licks Avatar answered Jan 02 '23 19:01

Hot Licks