iOS 5.1 came out last month, and to my dismay, all of my games were crashing on launch. Obviously, this was a problem. So I got to work fixing my apps. I came to find out that something about the old version of MonoTouch was not getting along with the new iOS, so I went about updating that (as, fortunately, my license is still active). Except this required updating MonoDevelop and Xcode, which required updating OS X to Lion, and then I updated MonoGame…
A day and $30 later, my system was ready to work on games again, and I got cracking. I updated all three projects to the new software (which is similar to updating VS 2008 projects to VS 2010 projects) and changed the references to the new MonoGame and rebuilt the apps and started testing them…
…and they still crashed on launch.
This should have fixed the crash. So something was amiss. Now, let this be a lesson, everyone. When updating a bunch of software (in this case, OS X Lion -> Xcode -> MonoDevelop -> MonoTouch -> MonoGame), DO NOT DO IT ALL AT ONCE. Update one piece at a time, and then test the software. This way, when something stops working, you know exactly what it is, and aren’t left freaking out like a child.
Fortunately, I was lucky and the problem was in the topmost layer of software, MonoGame. By going back to the version I launched with, the problem (which was using all the available memory on old devices) disappeared. I like MonoGame, but I haven’t been paying attention, and whatever they did in the last half-year or so eats up too much memory for old devices (and some new devices), at least in the way I was managing memory for my games.
After reverting MonoGame, I rebuilt my apps, and resubmitted them. Now, a couple weeks later, they are all available on the App Store with new versions that work in iOS 5.1. For the uninformed, the games can be found here:
Also, I made Go!Speed!Go! permanently free (from $0.99).
You can read more of Jason's blogging at http://blog.jpkgames.com