iOs, the iPhone/iPad OS is changing rapidly. Version 4.0 recently brought multi tasking and the like, a big update. It didn’t work that well with older iPhones, soon it was replaced by 4.1. Shortly after came 4.2 and 4.3 is already in beta. This has consequences when building apps. These are greater than having the opportunity to do new things and the necessity to test your apps on the new versions. As I found out when trying to submit a Monotouch app to the store. It was rejected stating “Currently we do not accept apps for this SDK version”. At first sight you might want to blame Monotouch. Things were a little different.
With every version of iOS comes a version of the SDK. This SDK is part of the iOs development tools. Monotouch works on top of those. Before installing MT you need to install them. At the time I did that, iOs was at version 4.0. The bad thing about the iOs SDK is that it does not check for updates; without being really aware of that I was still working in 4.0. It was not until submitting the app that I found out. The good thing is that you are notified the moment you are uploading the app. It is part of the first automatic scan of the app. Interesting (and good) Apple rejects 4.0.
I had to download and reinstall the SDK tools again (huge!). Having done that triggered MT automatically to update itself. After a test of the app (everything still worked) I tried to submit to the store again. No problem. So the Apple SDK, not updating itself, was the bad guy. Not Monotouch.