%#$#@# It took all last night, but I’ve finally fixed the crashes on 3.1.x devices, and uploaded new versions of gravilocity, ibeams and ibeams lite.
the various reasons the apps have fallen apart:
- Too too long to load, detailed in the previous post below.
- Use of flurry for usage tracking. Flurry added ios 4 support but I missed some not particularly well documented flags that needed to be added to the build to make things happy on ios 3.x devices. Not having these flags set caused a run time error.
- External display screw ups – external display code caused 3.x to crash
Lets talk about the external display stuff. At one point the hook ups were behind guard code that only triggered on the iPad. But then the iPhone 4 came out with external display support, so I removed the guard. Following apples instructions, build with ios 4.0, target the 3.0 sdk. seemed to compile fine. I just assumed it would no opt on older devices. They were just notification requests not actual executing code.
This sounds like a simple thing to track down.. It would be if apple hadn’t made it rather difficult to test 3.1. When ios 4 shipped, xcode stopped including support for the 3.x simulator, the older xcode wouldn’t compile my code anymore since there was bits of 4.0 used. So the only way to test 3.x support was with a 3.x device. I’ve got a phone, a touch and a iPad. Recently apple stopped allowing downgrades back to 3.1.3. ios packages have a signature that apple gets a chance to check before installation, and apple decided to stop allowing 3.x installs, even for developers.
After 2 hours of reading jailbreak message boards and getting nowhere trying to downgrade the touch. I borrowed an old iPhone 3G from a friend that just upgraded to a iphone 4, installed my apps and watched things go boom.
A new guard that actually checked the ios version number seems to have done the trick and I’ve submitted new versions of all my apps.
At no point has apple ever bounced my apps back due to crashing, and they were all crashing on 3.1.x, and there’s I never been a crash log from apple at any point indicating this problem.
So that’s the story 6 weeks of angry customers, long nights and a baffled gedalia, now I’m going to go hold my breath and hope it’s all fixed now.