EDIT:
The answer below from H2CO3 makes me almost happy. But this does not explain one thing: why do I get a run-time exception when building an application against SDK6 (UIPageViewController requires one child controller before adding it to the parent controller), but not when creating against SDK5? Rolf's answer explains what happens: the device knows the SDK that the application was built with and behaves differently to ensure maximum compatibility.
While struggling with iOS SDK versions, MonoTouch versions and different iOS versions, I started to wonder: What is the iOS SDK after ?
I mean, I install Xcode 4.4 and get the iOS SDK 5. If I install Xcode 4.5, I get the SDK for iOS 6. There is still no problem.
- Now suppose I create an application that
targets iOS 5 and does not use any iOS 6 specific things. I am creating this application using iOS SDK 6 . - Then I create the
same app , but use the iOS SDK 5 .
Then I launch both versions of the application on the iOS 6 device.
Why do they behave differently? There are slight differences, for example, the UIPageViewController throws an exception if the child controller is not installed before the page view controller is added as a child to the parent controller.
As far as I understand, callbacks, functions and everything comes from the iOS operating system, and not from the SDK. But in both cases, the OS is the same.
I fully understand that if I want to use the iOS 6 function, I need to use the iOS SDK 6, because the UICollectionView just does not exist in SDK 5. But the UI code for this view, obviously, is not included in my application, otherwise it will work and on iOS5. Thus, viewing the collection comes from a shared library provided by the OS.
In addition, there is MonoTouch. Assuming that each version of MonoTouch is nothing more than an extension of bindings without error correction, it does not matter which version of MT I use.
A short answer to my question: how will the iOS version, IOS SDK version, MonoTouch version and the target version of the application play together?