From 6.0.10 to 6.2.0

Comparison between monotouch-6.0.10.dll and monotouch-6.2.0.dll

Namespace: MonoTouch

Type Changed: MonoTouch.Constants

Removed:

 	public const string Version = "6.0.10";

Added:

 	public const string Version = "6.2.0";

Namespace: MonoTouch.AudioToolbox

New Type: MonoTouch.AudioToolbox.AudioClassDescription

public struct AudioClassDescription {
	
	public AudioClassDescription (AudioCodecComponentType type, AudioFormatType subType, MonoTouch.AudioUnit.AudioCodecManufacturer manufacturer);
	
	public bool IsHardwareCodec {
		get;
	}
	
	public AudioCodecComponentType Type;
	public AudioFormatType SubType;
	public MonoTouch.AudioUnit.AudioCodecManufacturer Manufacturer;
}

New Type: MonoTouch.AudioToolbox.AudioCodecComponentType

[Serializable]
public enum AudioCodecComponentType {
	Decoder,
	Encoder
}

New Type: MonoTouch.AudioToolbox.AudioFormatAvailability

public static class AudioFormatAvailability {
	
	public static AudioValueRange[] GetAvailableEncodeBitRates (AudioFormatType format);
	public static AudioValueRange[] GetAvailableEncodeSampleRates (AudioFormatType format);
	public static AudioClassDescription[] GetDecoders (AudioFormatType format);
	public static AudioClassDescription[] GetEncoders (AudioFormatType format);
}

New Type: MonoTouch.AudioToolbox.ExtendedNoteOnEvent

public struct ExtendedNoteOnEvent {
	
	public uint InstrumentID;
	public uint DeviceGroupID;
	public float Duration;
	public float Pitch;
	public float Velocity;
}

New Type: MonoTouch.AudioToolbox.MidiChannelMessage

public struct MidiChannelMessage {
	
	public MidiChannelMessage (byte status, byte data1, byte data2);
	
	public byte Status;
	public byte Data1;
	public byte Data2;
	public byte Reserved;
}

New Type: MonoTouch.AudioToolbox.MidiMetaEvent

public class MidiMetaEvent : _MidiData {
	
	public MidiMetaEvent ();
	
	public byte MetaEventType;
}

New Type: MonoTouch.AudioToolbox.MidiNoteMessage

public struct MidiNoteMessage {
	
	public MidiNoteMessage (byte channel, byte note, byte velocity, byte releaseVelocity, float duration);
	
	public byte Channel;
	public byte Note;
	public byte Velocity;
	public byte ReleaseVelocity;
	public float Duration;
}

New Type: MonoTouch.AudioToolbox.MidiRawData

public class MidiRawData : _MidiData {
	
	public MidiRawData ();
}

New Type: MonoTouch.AudioToolbox.MusicEventType

[Serializable]
public enum MusicEventType : uint {
	Null,
	ExtendedNote,
	ExtendedTempo,
	User,
	Meta,
	MidiNoteMessage,
	MidiChannelMessage,
	MidiRawData,
	Parameter,
	AUPreset
}

New Type: MonoTouch.AudioToolbox.MusicEventUserData

public class MusicEventUserData : MidiRawData {
	
	public MusicEventUserData ();
}

New Type: MonoTouch.AudioToolbox.MusicPlayer

public class MusicPlayer : IDisposable, MonoTouch.ObjCRuntime.INativeObject {
	
	public MusicPlayer ();
	
	public static MusicPlayer Create (out MusicPlayerStatus OSstatus);
	public void Dispose ();
	protected virtual void Dispose (bool disposing);
	protected override void Finalize ();
	public MusicPlayerStatus GetBeatsForHostTime (long hostTime, out double beats);
	public MusicPlayerStatus GetHostTimeForBeats (double beats, out long hostTime);
	public MusicPlayerStatus Preroll ();
	public MusicPlayerStatus Start ();
	public MusicPlayerStatus Stop ();
	
	public IntPtr Handle {
		get;
	}
	public bool IsPlaying {
		get;
	}
	public MusicSequence MusicSequence {
		get;
		set;
	}
	public double PlayRateScalar {
		get;
		set;
	}
	public double Time {
		get;
		set;
	}
}

New Type: MonoTouch.AudioToolbox.MusicPlayerStatus

[Serializable]
public enum MusicPlayerStatus {
	Success,
	InvalidSequenceType,
	TrackIndexError,
	TrackNotFound,
	EndOfTrack,
	StartOfTrack,
	IllegalTrackDestination,
	NoSequence,
	InvalidEventType,
	InvalidPlayerState,
	CannotDoInCurrentContext
}

New Type: MonoTouch.AudioToolbox.MusicSequence

public class MusicSequence : IDisposable, MonoTouch.ObjCRuntime.INativeObject {
	
	public MusicSequence ();
	
	public MusicPlayerStatus BarBeatTimeToBeats (MonoTouch.CoreAnimation.CABarBeatTime barBeatTime);
	public MusicPlayerStatus BeatsToBarBeatTime (double beats, int subbeatDivisor, out MonoTouch.CoreAnimation.CABarBeatTime barBeatTime);
	public MonoTouch.Foundation.NSData CreateData (MusicSequenceFileTypeID fileType, MusicSequenceFileFlags flags, ushort resolution);
	public MusicPlayerStatus CreateFile (MonoTouch.Foundation.NSUrl url, MusicSequenceFileTypeID fileType, MusicSequenceFileFlags flags, ushort resolution);
	public MusicTrack CreateTrack ();
	public void Dispose ();
	protected virtual void Dispose (bool disposing);
	protected override void Finalize ();
	public double GetBeatsForSeconds (double seconds);
	public MonoTouch.Foundation.NSDictionary GetInfoDictionary ();
	public double GetSecondsForBeats (double beats);
	public void GetSmpteResolution (short resolution, out sbyte fps, out byte ticks);
	public MusicTrack GetTrack (int trackIndex);
	public int GetTrackIndex (MusicTrack track);
	public MusicPlayerStatus LoadData (MonoTouch.Foundation.NSData data, MusicSequenceFileTypeID fileTypeId, MusicSequenceLoadFlags loadFlags);
	public MusicPlayerStatus LoadFile (MonoTouch.Foundation.NSUrl url, MusicSequenceFileTypeID fileTypeId, MusicSequenceLoadFlags loadFlags);
	public MusicPlayerStatus Reverse ();
	public MusicPlayerStatus SetMidiEndpoint (MonoTouch.CoreMidi.MidiEndpoint endpoint);
	public short SetSmpteResolution (sbyte fps, byte ticks);
	
	public MonoTouch.AudioUnit.AUGraph AUGraph {
		get;
		set;
	}
	public IntPtr Handle {
		get;
	}
	public MusicSequenceType SequenceType {
		get;
		set;
	}
	public int TrackCount {
		get;
	}
}

New Type: MonoTouch.AudioToolbox.MusicSequenceFileFlags

[Serializable]
[Flags]
public enum MusicSequenceFileFlags {
	EraseFile
}

New Type: MonoTouch.AudioToolbox.MusicSequenceFileTypeID

[Serializable]
public enum MusicSequenceFileTypeID : uint {
	Midi,
	iMelody
}

New Type: MonoTouch.AudioToolbox.MusicSequenceLoadFlags

[Serializable]
[Flags]
public enum MusicSequenceLoadFlags {
	ChannelsToTracks
}

New Type: MonoTouch.AudioToolbox.MusicSequenceType

[Serializable]
public enum MusicSequenceType : uint {
	Beats,
	Seconds,
	Samples
}

New Type: MonoTouch.AudioToolbox.MusicTrack

public class MusicTrack : MonoTouch.ObjCRuntime.INativeObject {
	
	public static MusicTrack FromSequence (MusicSequence sequence);
	public MusicPlayerStatus AddExtendedTempoEvent (double timestamp, double bmp);
	public MusicPlayerStatus AddMetaEvent (double timestamp, MidiMetaEvent metaEvent);
	public MusicPlayerStatus AddMidiChannelEvent (double timestamp, MidiChannelMessage channelMessage);
	public MusicPlayerStatus AddMidiNoteEvent (double timeStamp, MidiNoteMessage message);
	public MusicPlayerStatus AddMidiRawDataEvent (double timestamp, MidiRawData rawData);
	public MusicPlayerStatus AddNewExtendedNoteEvent (double timestamp, ExtendedNoteOnEvent evt);
	public MusicPlayerStatus AddUserEvent (double timestamp, MusicEventUserData userData);
	public MusicPlayerStatus Clear (double startTime, double endTime);
	public MusicPlayerStatus CopyInsert (double sourceStartTime, double sourceEndTime, MusicTrack targetTrack, double targetInsertTime);
	public MusicPlayerStatus Cut (double startTime, double endTime);
	public void Dispose ();
	protected virtual void Dispose (bool disposing);
	protected override void Finalize ();
	public MusicPlayerStatus Merge (double sourceStartTime, double sourceEndTime, MusicTrack targetTrack, double targetInsertTime);
	public MusicPlayerStatus MoveEvents (double startTime, double endTime, double moveTime);
	public MusicPlayerStatus SetDestMidiEndpoint (MonoTouch.CoreMidi.MidiEndpoint endpoint);
	public MusicPlayerStatus SetDestNode (int node);
	
	public IntPtr Handle {
		get;
	}
	public bool MuteStatus {
		get;
		set;
	}
	public MusicSequence Sequence {
		get;
	}
	public bool SoloStatus {
		get;
		set;
	}
}

New Type: MonoTouch.AudioToolbox._MidiData

public abstract class _MidiData {
	
	protected _MidiData ();
	
	public void SetData (byte [] Data);
	public void SetData (int len, int start, byte [] Data);
	public void SetData (int len, IntPtr buffer);
	
	protected int len;
	protected int start;
	protected byte [] data;
	protected IntPtr buffer;
}

Namespace: MonoTouch.Foundation

Type Changed: MonoTouch.Foundation.NSObject

Removed:

 	public static System.Reflection.Assembly MonoTouchAssembly;

Added:

 	public static readonly System.Reflection.Assembly MonoTouchAssembly;

Type Changed: MonoTouch.Foundation.NSObjectFlag

Removed:

 	public static NSObjectFlag Empty;

Added:

 	public static readonly NSObjectFlag Empty;

Namespace: MonoTouch.GameKit

Type Changed: MonoTouch.GameKit.GKLeaderboard

Removed:

 	[Obsolete("Deprecated iOS 6.0")]
	public static void LoadCategories (GKCategoryHandler categoryHandler);

Added:

 	[Obsolete("Deprecated iOS 6.0, use loadLeaderboardsWithCompletionHandler")]
	public static void LoadCategories (GKCategoryHandler categoryHandler);

Type Changed: MonoTouch.GameKit.GKMatch

Removed:

 	public event EventHandler<GKPlayerErrorEventArgs> ConnectionFailed;

Added:

 	[Obsolete("No longer on iOS")]
	public event EventHandler<GKPlayerErrorEventArgs> ConnectionFailed;

Type Changed: MonoTouch.GameKit.GKMatchDelegate

Removed:

 	public virtual void ConnectionFailed (GKMatch match, string playerId, MonoTouch.Foundation.NSError error);

Added:

 	[Obsolete("No longer on iOS")]
	public virtual void ConnectionFailed (GKMatch match, string playerId, MonoTouch.Foundation.NSError error);

Type Changed: MonoTouch.GameKit.GKMatchmakerViewController

Removed:

 	public virtual void SetHostedPlayerReady (string playerID);

Added:

 	[Obsolete("Deprecated in iOS 5.0, use SetHostedPlayerConnected")]
	public virtual void SetHostedPlayerReady (string playerID);

Namespace: MonoTouch.MediaPlayer

Type Changed: MonoTouch.MediaPlayer.MPMoviePlayerController

Removed:

 		public static MonoTouch.Foundation.NSObject ObserveWillEnterFullscreen (EventHandler<MPMoviePlayerFullScreenEventArgs> handler);

Added:

 		public static MonoTouch.Foundation.NSObject ObserveWillEnterFullscreen (System.EventHandler<MonoTouch.Foundation.NSNotificationEventArgs> handler);

Namespace: MonoTouch.ObjCRuntime

Type Changed: MonoTouch.ObjCRuntime.Messaging

Added:

 	public static bool bool_objc_msgSend_CMTime_CGAffineTransform_CGAffineTransform_CMTimeRange (IntPtr receiver, IntPtr selector, MonoTouch.CoreMedia.CMTime arg1, MonoTouch.CoreGraphics.CGAffineTransform arg2, MonoTouch.CoreGraphics.CGAffineTransform arg3, MonoTouch.CoreMedia.CMTimeRange arg4);
 	public static bool bool_objc_msgSend_CMTime_CMTime_CMTime (IntPtr receiver, IntPtr selector, MonoTouch.CoreMedia.CMTime arg1, MonoTouch.CoreMedia.CMTime arg2, MonoTouch.CoreMedia.CMTime arg3);
 	public static bool bool_objc_msgSend_CMTime_float_float_CMTimeRange (IntPtr receiver, IntPtr selector, MonoTouch.CoreMedia.CMTime arg1, float arg2, float arg3, MonoTouch.CoreMedia.CMTimeRange arg4);
 	public static bool bool_objc_msgSendSuper_CMTime_CGAffineTransform_CGAffineTransform_CMTimeRange (IntPtr receiver, IntPtr selector, MonoTouch.CoreMedia.CMTime arg1, MonoTouch.CoreGraphics.CGAffineTransform arg2, MonoTouch.CoreGraphics.CGAffineTransform arg3, MonoTouch.CoreMedia.CMTimeRange arg4);
 	public static bool bool_objc_msgSendSuper_CMTime_CMTime_CMTime (IntPtr receiver, IntPtr selector, MonoTouch.CoreMedia.CMTime arg1, MonoTouch.CoreMedia.CMTime arg2, MonoTouch.CoreMedia.CMTime arg3);
 	public static bool bool_objc_msgSendSuper_CMTime_float_float_CMTimeRange (IntPtr receiver, IntPtr selector, MonoTouch.CoreMedia.CMTime arg1, float arg2, float arg3, MonoTouch.CoreMedia.CMTimeRange arg4);
 	public static IntPtr IntPtr_objc_msgSend_int_IntPtr_IntPtr_IntPtr_IntPtr (IntPtr receiver, IntPtr selector, int arg1, IntPtr arg2, IntPtr arg3, IntPtr arg4, IntPtr arg5);
 	public static IntPtr IntPtr_objc_msgSendSuper_int_IntPtr_IntPtr_IntPtr_IntPtr (IntPtr receiver, IntPtr selector, int arg1, IntPtr arg2, IntPtr arg3, IntPtr arg4, IntPtr arg5);
 	public static void void_objc_msgSend_Double_float (IntPtr receiver, IntPtr selector, double arg1, float arg2);
 	public static void void_objc_msgSend_UInt32_UInt32 (IntPtr receiver, IntPtr selector, uint arg1, uint arg2);
 	public static void void_objc_msgSendSuper_Double_float (IntPtr receiver, IntPtr selector, double arg1, float arg2);
 	public static void void_objc_msgSendSuper_UInt32_UInt32 (IntPtr receiver, IntPtr selector, uint arg1, uint arg2);

Type Changed: MonoTouch.ObjCRuntime.Runtime

Added:

 	public static void ConnectMethod (Type type, System.Reflection.MethodInfo method, MonoTouch.Foundation.ExportAttribute export);

Namespace: MonoTouch.Security

Type Changed: MonoTouch.Security.SecKey

Removed:

 	public SecKey (IntPtr handle);
 	public SecKey (IntPtr handle, bool owns);
 	

Namespace: MonoTouch.StoreKit

Type Changed: MonoTouch.StoreKit.SKPayment

Removed:

 	public static SKPayment PaymentWithProduct (string identifier);

Added:

 	[Obsolete("Deprecated in iOS 5.0. Use PaymentWithProduct(SKProduct) after fetching the list of available products from SKProductRequest")]
	public static SKPayment PaymentWithProduct (string identifier);

Namespace: MonoTouch.SystemConfiguration

Type Changed: MonoTouch.SystemConfiguration.CaptiveNetwork

Removed:

 	[Obsolete("Replaced by TryCopyCurrentNetworkInfo")]
	public static MonoTouch.Foundation.NSDictionary CopyCurrentNetworkInfo (string interfaceName);
 	[Obsolete("Replaced by TryGetSupportedInterfaces")]
	public static string [] GetSupportedInterfaces ();

Added:

 	public static MonoTouch.Foundation.NSDictionary CopyCurrentNetworkInfo (string interfaceName);
 	public static string [] GetSupportedInterfaces ();

Type Changed: MonoTouch.SystemConfiguration.NetworkReachability

Removed:

 	[Obsolete("Replaced by SetNotification")]
	public bool SetCallback (Notification callback);

Added:

 	public bool SetCallback (Notification callback);

Namespace: MonoTouch.UIKit

Type Changed: MonoTouch.UIKit.UIApplicationDelegate

Removed:

 	public virtual bool FinishedLaunching (UIApplication application, MonoTouch.Foundation.NSDictionary launcOptions);

Added:

 	public virtual bool FinishedLaunching (UIApplication application, MonoTouch.Foundation.NSDictionary launchOptions);

Type Changed: MonoTouch.UIKit.UIBarButtonItem

Removed:

 	public UIBarButtonItem (UIView customView);

Added:

 	public UIBarButtonItem (UIView customView);

Type Changed: MonoTouch.UIKit.UIDevice

Removed:

 	[Obsolete("Available, but deprecated in iOS5")]
	public virtual string UniqueIdentifier {

Added:

 	[Obsolete("Deprecated in iOS 5.0")]
	public virtual string UniqueIdentifier {

Type Changed: MonoTouch.UIKit.UIEvent

Removed:

 	public virtual MonoTouch.Foundation.NSSet TouchesForGestureRecognizer (UIGestureRecognizer gesture);

Added:

 	public virtual MonoTouch.Foundation.NSSet TouchesForGestureRecognizer (UIGestureRecognizer window);

Type Changed: MonoTouch.UIKit.UIImagePickerController

Removed:

 	[Obsolete("deprecated in iPhoneOS 3.1")]
	public virtual bool AllowsImageEditing {

Added:

 	[Obsolete("Deprecated in iOS 3.1")]
	public virtual bool AllowsImageEditing {

Type Changed: MonoTouch.UIKit.UIView

Removed:

 	[Obsolete("Use the version with a `ref float actualFontSize`")]
	public System.Drawing.SizeF DrawString (string str, System.Drawing.PointF point, float width, UIFont font, float minFontSize, float actualFontSize, UILineBreakMode breakMode, UIBaselineAdjustment adjustment);

Added:

 	public System.Drawing.SizeF DrawString (string str, System.Drawing.PointF point, float width, UIFont font, float minFontSize, float actualFontSize, UILineBreakMode breakMode, UIBaselineAdjustment adjustment);

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.