I just got a rejection on an iPhone and iPod Touch app because it now crashes according to Apple on iPhone OS 3.1.2.
Here is part of the email:
Hello Julian,
At this time, App cannot be posted to the App Store because it is crashing on iPhone 3G running iPhone OS 3.1.2
Steps:
1. Launch application.
2. Select “Don’t Allow” when the application asks if its ok to use Core Location.
3. Select the icon in top left corner to attempt to locate the user.
4. Application crashes.Crash logs have been attached for your reference.
Ok thanks Apple but what about the backtrace?
Crashed Thread:  0
Thread 0 Crashed:
0 ¬† libSystem.B.dylib ¬† ¬† ¬† ¬† ¬† ¬† 0×31a279ac 0×319a9000 + 518572
1 ¬† libSystem.B.dylib ¬† ¬† ¬† ¬† ¬† ¬† 0×31a2799c 0×319a9000 + 518556
2 ¬† libSystem.B.dylib ¬† ¬† ¬† ¬† ¬† ¬† 0×31a2798e 0×319a9000 + 518542
3 ¬† libSystem.B.dylib ¬† ¬† ¬† ¬† ¬† ¬† 0×31a3c63a 0×319a9000 + 603706
4 ¬† libstdc++.6.dylib ¬† ¬† ¬† ¬† ¬† ¬† 0×3361d3b0 0×335d8000 + 283568
5 ¬† libobjc.A.dylib ¬† ¬† ¬† ¬† ¬† ¬† ¬† 0×32401858 0×323fc000 + 22616
6 ¬† libstdc++.6.dylib ¬† ¬† ¬† ¬† ¬† ¬† 0×3361b776 0×335d8000 + 276342
7 ¬† libstdc++.6.dylib ¬† ¬† ¬† ¬† ¬† ¬† 0×3361b7ca 0×335d8000 + 276426
8 ¬† libstdc++.6.dylib ¬† ¬† ¬† ¬† ¬† ¬† 0×3361b896 0×335d8000 + 276630
9 ¬† libobjc.A.dylib ¬† ¬† ¬† ¬† ¬† ¬† ¬† 0×32400714 0×323fc000 + 18196
10 ¬†CoreFoundation ¬† ¬† ¬† ¬† ¬† ¬† ¬† ¬† 0×3253ed96 0×32511000 + 187798
11 ¬†MapKit ¬† ¬† ¬† ¬† ¬† ¬† ¬† ¬† ¬† ¬† ¬† ¬† 0×33644b38 0×33633000 + 72504
setRegion:animated:
Also this is not a crash outright. Apple’s code is raising an exception under what I see as an invalid condition and leading to a crash. The region can no longer be -180.0f, -180.0f. This feature was introduced in OS 3.1.2.
The fix:
if (region.center.latitude == -180.0f && region.center.longitude == -180.0f)
This will take ~14 days to make it through Apple’s system and be approved.