THIS IMPORTANT SUBJECT FOR Unity iOS DEVELOPERS COMES FROM THE LINK:
http://unity3d.com/support/documentation/Manual/android-troubleshooting.html
Game runs fine when launched from Xcode and crashes on first level load when launched
There could be several reasons for this. You need to inspect the device logs to get more details. Connect the device to your Mac, launch Xcode, go to the Xcode menu Window->Organizer, select your device in the Organizer’s left toolbar, click on the “Console” tab and review the latest messages carefully. Additionally, you may need to investigate crash reports. You can find out how to obtain crash reports here:
http://developer.apple.com/iphone/library/technotes/tn2008/tn2151.html.
If Xcode Organizer console contains “killed by SpringBoard” READ THIS:
There is a not well documented time limit for an iOS 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”);
}
I want to give this info to anyone who could have experimented this nightmare of developing and build an iOS App on Unity, running it on Xcode with an iDevice connected to a computer, watching the App behaving good but getting frustrated because when you disconnect the iDevice from the computer and attempt running the App from the iDevice you only see the splash screen and goes back to the iDevice desktop.