Earnest has a growth spurt: making MonoTouch apps work with the new iPhone

With the release of the iPhone 5 - aka iPhone Longcat Edition - a few people have been asking about how to make MonoTouch apps work with it, and with iOS6.

This isn't an exhaustive test, so I may have it wrong, but:

  • MonoTouch 5.4 works fine with the Gold Master XCode 4.5. Just point it at your xcode.app and you are in business (or put xcode.app in /Applications)
  • MonoTouch 5.99.x works fine to - but you need to be on the Alpha channel.

Redth has a good post up on how to convert your app - it's pretty easy.

  • Add an image
  • Make sure you use the bounds to work it out, or struts-and-springs
  • Job done. Mostly.

It took me 5 mins to get Earnest working, so most MonoTouch.Dialog-centric apps will "just work".

I had an issue with the background texture, but switched from setting

View.BackgroundColor = UIColor.FromPatternImage(Resources.Background);

and changed it over to use

TableView.BackgroundView = new UIImageView(Resources.Background);

As the pinstripes were coming thru, not the nice paper texture. Oddly, if I built with the iOS5 SDK, and deployed onto iOS6, it worked fine. But iOS6 SDK + iOS6 device didn't. Strange.

Job. Done.