Apple rejected my app two times due to a crash at launch. I have tested it many times on different devices (iPhone 4, iPhone3GS, Simulator, iPad2) and it never crashed.
According to the crash log, it looks like an array out of bounds exception. This means that you accessed an array with an index that doesn't exist. Unfortunately, the most important line (3 iMetroRoma 0x0000426f 0x1000 + 12911
) is not symbolicated which means you have to go hunting for all your calls to objectAtIndex:
and think about whether there's a possibility that an invalid index could be used.
Okay, did you "build and archive" when submitting to appstore?
If you did not, tough luck. There is not much you can do now. Even if you did Build and Archive, and lost the archive, you are out of luck.
If you did however, store the archive file of distribution build, very good!
Have you tried opening this in XCode Organizer (drag and drop the file onto organizer, it should try to symbolicate the crashlog). If not, do it.
When you do it, there are two possibilities:
Either the iMetroRoma
functions will get symbolicated (meaning you'll see which line is crashing it) or it wont.
X*: If it does, you know where the application is crashing. Posting the details of that would help us solve the issue for you.
If it does not, then automatic symbolication in XCode is not working. Follow these steps (assuming you did all this from XCode 4):
And then try deleting that crash log from XCode Organizer and drag/drop it again there. Possibly, it might symbolicate it now. If it does do step X*, If it does not, read on.
Now, you will need to do follow the steps on this blog. (Very useful and well documented article).
Hopefully, it will symbolicate now and then move to step X*. If it does not, I'm sorry for not being able to help :)