MonoTouch 3.0.8 introduced support for Apple's iPhone 4 SDK and supports the following platforms:
A detailed list of API changes from version 2.0 is available for developers to explore what is new in MonoTouch 3.
MonoTouch 3.0 supports all the new APIs to allow your application to multi-task on iOS 4.0. As part of this effort, we introduced bindings to Grand Central Dispatch (see the class MonoTouch.CoreFoundation.Dispatch).
You can build applications that support:
Multitasking support builds also on top of our new binding to the Blocks API.
All of the new iOS =4.0 "Integration Technologies" features introduced by Apple are supported in this edition of MonoTouch.
Local notifications, provided by the MonoTouch.UIKit.UILocalNotification, for more information see the Local and Push Notifications Guide.
Support for iPhone 4's Retina Display is accomplished through various extensions to the UIKit and CoreAnimation APIs. These new APIs are also exposed to MonoTouch developers (MonoTouch.UIKit.UIScreen.Scale, MonoTouch.UIKit.UIImage.CurrentScale, MonoTouch.UIKit.UIView.ContentScaleFactor).
This new API has been bound allowing your application to preview the contents of foreign file formats. The APIs are available in MonoTouch.QuickLook.
The AVFoundation framework gives developers more fine grainer control over music and video playback and with iOS 4.0 it got a significant boost in terms of functionality. The new classes are available under MonoTouch.AVFoundation.
These are some of the new additions:
For those familiar with both Objective-C and C# we mapped C# delegates and lambdas into Objective-C blocks, so all the new blocks-based API is available to developers. Developers in C# can continue to use lambda functions as well as anonymous methods, and those will be transparently exposed to Objective-C as Objective-C blocks.
All of the improvements that Apple introduced in iOS 4.0 for UIKit are exposed in MonoTouch 3.0, this includes the new multi-tasking methods in UIApplicationDelegate as well as its support for scheduling local notifications.
In iOS4 it is possible to use a graphics context (MonoTouch.CoreGraphics.CGContext) in a multi-threaded application. Access to UIImage, UIColor and UIFont is now also thread safe.
The new Block-animation APIs in UIView which provide various callbacks for custom animations are exposed in the API. Blocks in the UIView are merely C# instances of NSAction, so you can just use delegates, anonymous methods or lambda functions as your block values.
CoreGraphics now supports fine grained control of font smoothing in MonoTouch.CoreGraphics.CGContext.