[Mono-osx] Xcode plugin for C#/mono
andreas.faerber at web.de
Sun Nov 19 15:06:13 EST 2006
Am 19.11.2006 um 17:50 schrieb Miguel de Icaza:
> Hello Susan,
>> Attached are the other files - basically the source files and
>> Xcode project
>> file in case anyone wants to build the thing from scratch.
>> If you combine the files in this zip file with those previously
>> sent, then
>> you will have the complete set.
> This works like a charm.
> Do you think:
> * It would be possible to distribute this with the Mono
> installer, and have these files installed somewhere on
> the system, so it becomes global for all users?
> * Would this work even if XCode is not installed when the
> Mono installer is ran?
> * How could we build this code ourselves (we are not Mac
> savvy, so we could use some help).
> * Would you mind developing/maintaining those on the Mono
> SVN repository, so other people could help/assist with it?
This is a bad idea.
There is no public Xcode API and there have been major method
signature changes between Xcode releases so a plugin written for
Xcode 2.4 might crash on 2.3 or 2.2 etc. So please don't install any
Xcode plugins as part of Mono.
Especially native Objective-C code is subject to such
incompatibilities because the class sizes etc. are determined at
My approach of using a Cocoa#-like library and managed code within
the plugin (as proposed on the list) avoids these problems by
determining things at runtime - but I can't recommend that as an
official plugin either as it's not based on Mono's Cocoa# in its
Maybe someone else has looked into AppleScript? That is the only
official way of writing Xcode plugins but I haven't played with it yet.
A place within SVN for all the *spec files (language definitions
etc.) would be good as a start, though of course parts thereof will
depend on the specific plugin implementation.
Anyway, let's keep in mind that an implementation should keep file
types and products neutral and be as compatible as possible - tying
everything to C#/mcs contradicts the "common language" part of CLI.
Apple's standard implementation transparently handles compilation of
different language source files to one executable (similar to make)
so a future official Mono Xcode plugin, with Mono being a common
language infrastructure runtime, should be able to handle multiple
source languages either itself or at least allow third-party
implementations to add additional language support in a non-
In short that's: you specify input files and the desired output file
and the plug-ins are supposed to figure out how to get from A to B
automagically, with as many intermediate steps as necessary and
More information about the Mono-osx