[Mono-osx] [ANN] mcocoa 0.6 and mobjc 0.7

Jesse Jones jesjones at mindspring.com
Tue Jun 16 01:23:20 EDT 2009


mcocoa provides C# wrappers around nearly all of Apple's Foundation  
and AppKit frameworks. mobc is a bridge between Mono and Objective-C.  
Together these libraries allow you to write Cocoa applications using  
Mono. Unlike most other libraries mobjc properly handles exceptions  
arising in both managed and native code.

The libraries can be found at:
http://code.google.com/p/mcocoa
http://code.google.com/p/mobjc

Changes to mcocoa include:
* Completely rewrote the documentation and added API Reference  
documentation (see the wiki on google code).
* Added externs for NSDeviceRGBColorSpace, NSDeviceResolution,  
NSWhite, etc.
* Replaced the NSData bytes, getBytes, getBytes_length, and  
getBytes_range methods with versions that use byte[] instead of IntPtr.
* Added NSData.Create(byte[]) overload.
* Added NSString and string versions of operator+.
* NSError.Raise throws OperationCanceledException instead of  
InvalidOperationException if the cocoa exception is Cocoa3Domain and  
NSUserCancelledError.
* Documented the threading semantics of types and methods using a new  
ThreadModelAttribute (which the next version of gendarme will  
recognize).
* Reworked examples so that they are built just like user apps.
* Replaced natty example with a cooler and better written infinite  
precision Mandelbrot app.

Changes to mobjc include:
* Completely rewrote the documentation and added API Reference  
documentation (see the wiki on google code).
* Renamed AllocNative AllocAndInitInstance. Added AllocInstance.
* Added a debug NSObject.SaveStackTraces property which, when set,  
records stack traces for all NSObjects.
* NSObject.ToString now takes a "S" format specifier which will print  
the stack traces if they are enabled.
* Made some cocoa-pack fixes:
    - The launch script now falls back to a symbolic link if the hard  
link cannot be created (e.g. if mono and the app are on different  
volumes).
    - The link created by the launch script is now named after the  
bundle name instead of the build time app name.
    - The launch script now works if the app name contains spaces.
* Fixed a crasher when a subclass of a subclass of NSObject overrides  
OnDealloc.
* Added a better error message for attempts to override dealloc.
* copy and mutableCopy methods were broken.
* Documented the threading semantics of types and methods using a new  
ThreadModelAttribute (which the next version of gendarme will  
recognize).

   -- Jesse





More information about the Mono-osx mailing list