Really serious issue

I’ve getting more and more negative reviews for my App http://itunes.apple.com/de/app/sungps/id340135272?mt=8 because of startup problems. The App timeouts during unity splash screen.

I’ve build it for 2.2.1 with newest Xcode and the Beta of 1.5.1

For one customer i’ve build a new build for 3.0 with 1.5.1 final, which starts up much faster on his 3G withou any issues. (restarting the device and reinstalling the app didn’t solved his problem before)

The App itself is a weather App, so it comes with comparable low memory usage but it uses location manager and www.

Is it possible that building for 2.2.1 is a bad idea? So far i know it happens at least on some iPod touch 2G and iPhone 3G.

I can see the App drop in rankings each time a negative review is on top of the reviews. It’s a shame you can’t comment reviews as developer.

From Unity iPhone manual troubleshooting page:

There is a not well documented time limit for an iPhone application to render its first frames and process input. If your application misses this time limit it gets killed by SpringBoard. A typical case is an application with a large first scene. To avoid this problem it is recommended to create a small initial scene which just displays a splash screen, waits a frame or two with yield and starts loading the real scene. A code sample for this could be:

function Start () {
    yield;
    Application.LoadLevel("Test");
}

Thank you, so I’ll create bug fix 1.01 version and report back if i will end in a flood of one stars or not. :lol:

As reported by users this fix works well. :smile:

One user reported a crash after 12 starts. :?

that sounds like normal.

all 10 - 15 application starts (install, other application), you either need to restart the device or run free memory over it.
at least I need with a good 9 pages of applications.

After an update with a few applications I basically have 15mb of RAM free normally.

EDIT: naturally meant restart the device, not reinstall

What does ‘a large first scene’ mean. In my games, the first scene is always a menu scene. There are only one gameObject in the scene, does this count.

Depends on what your menu does.

With OnGUI usage or lare enough textures you would want to use the optimization too.

generally I see no reason not to use it in any case. you can’t lose anything with it, just win

function Start () {
    yield;
    Application.LoadLevel("Test");
}

Just trying to understand this.

The only reason to include:

yield;

Is because it will create a one frame delay before continuing?

Outside of getting the iPhone to notice the load, are there any other reasons you might want to create a one frame delay?

Thanks.