Dynamic (Default.png) splashscreen in 3.0 [iPhone SDK]
Asked Answered
W

2

4

I know it's possible to create a dynamically changable Default.png by creating a symbolic link. But that's not possible in iPhone SDK 3.0 anymore (only in 2.0). How can I make this in 3.0, or is this impossible? Tim

This worked on iPhone OS 2.0 http://collison.ie/blog/2008/11/dynamic-defaultpng-files-on-the-iphone but not on iPhone OS 3.0 anymore. The default-screen is always black.

I can change the default-screen in the documents-folder and the symbolic-link does link to that file. I tested that by browsing to the app-folder from the Simulator. I saw the right file in the documents-directory and I saw that the symbolic link points to that (the right) file.

Wiatt answered 24/12, 2009 at 17:16 Comment(0)
P
7

It's not possible in 3.0. It was only possible on 2.0 because it was an exploitable bug. The bug was fixed in 3.0 which is why it's not possible.

Apple don't intend the Default.png to be a "splash screen".

If you read the HIG, you'll see that the Default.png is suppose to represent your user interface as it would be "empty" - without any content. It is intended to give the user the illusion of an "near instant" launch.

Check out all of the Apple apps on the iPhone and you'll see how the default.png is meant to be used properly.

Apple frown upon using the Default.png as a splash screen. They say that it is really only appropriate for apps such as games that don't use the standard UI elements that are provided in the SDK.

That being said - lots of apps these days are using this feature to show splash screens, and seems Apple aren't really enforcing this guideline.

Long story short, you can do a splash screen, but it can't be dynamic - not anymore.

Peltate answered 24/12, 2009 at 17:27 Comment(2)
Thanks, I hope it'll be possible in the new SDK :) (like an application delegate or something: - (UIImage )defaultImage { / return nil for standard default.png */ return [UIImage imageNamed:@"someotherdefault.png"]; } For exampleWiatt
I doubt this will be possible in future SDK releases. The system will need access to the image before any of your apps code executes, because it's needed in the launching animation.Peltate
L
3

Use a blank Default.png and then in your app delegate's -applicationDidFinishLaunching: method, load a UIView that contains your dynamic content. This solution sidesteps any conflicts with Apple's SDK terms as well as all technical problems.

Latoshalatouche answered 29/6, 2010 at 23:49 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.