MonoTouch 1.2

New Features

  • Debugger, works on Simulator and Device (using Wifi)
  • C# binding generator for Objective-C Libraries.
  • stdout/stderr are now redirected from the device to MonoDevelop.

MonoTouch API additions:

  • UITableView now has a new property "Source" that allows a new UITableViewSource type to be assigned to it, it is a Model that implements both the UITableViewDelegate and the UITableViewDataSource, this should reduce clutter in existing code. Brent has written a detailed update on using the UITableView with this new property.
  • NSTimer.Dispose will now call Invalidate first, and then dispose the timer.
  • UIActionSheet now can be initialized like this: - new UIActionSheet ("Title") { "Help", "Open in Browser", "Bookmark" }

  • Added NSKeyedArchiver, NSKeyedUnarchiver.

  • Added Encoder virtual method on NSObject

Mono Runtime API additions:

  • Added System.Timers.Timer
  • Added System.Threading.Semaphore
  • Added System.Threading types to System.dll

API fixes

Updated OpenTK to r2350.

  • This fixes some function overloads so that they're usable
  • Fixed AVAudioPlayer factory methods to be static.
  • Fixed typo in UITableView.DidEndEditing
  • Fixed typo in AVAudioRecorder.Pecord -> Record
  • Fixed BadgeValue to allow null
  • The helper class NSNotificationHandler is no longer public.
  • Flagged a NSString.DataUsingEncoding as Obsolete, introduced instead Encode methods.


A preview of the System.Data and SQLite for MonoTouch is now available.

  • Mono.Data.Sqlite.dll: unchanged. Note that this binding is against SQLite 3.6, while iPhone has SQLite 3.0, so use of some functionality will result in EntryPointNotFoundExceptions. Such missing functionality appears to include DataSet support.
  • Mono.Data.Tds.dll: unchanged.
  • System.Data.dll: Removes code-generation capabilities (System.Data.TypedDataSetGenerator), .config handling support, System.Data.Common.DbProviderFactories, System.Data.OleDb, System.Data.Odbc. - System.Data.SqlClient is present.

  • System.Transactions.dll: unchanged.


  • Fixed crash using async socket operations
  • Fixed i18n in mtouch : read the documentation
  • iPhoneOSGameView.Run() will no longer truncate the timeout to have 1ms resolution. It will now have 100ns resolution.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.