MonoTouch: hablando de Obj-C a MonoTouch

Estoy intentando llamar a un ensamblaje MonoTouch desde un proyecto Objective C existente. Encontré este artículo:

http: //www.guidebee.biz/forum/redirect.php? fid = 16 & tid = 176 & goto = nextoldset

Allí describe bastante bien los pasos, sin embargo, cuando trato de construir el proyecto en XCode, aparece el siguiente error:

error: no hay SDK con el nombre o la ruta especificada '/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk'

Entonces, para ser claros:

Tengo la ruta correcta agregada los SDK adicionales de arquitecturas Físicamente comprobado que la ruta es correctaEstoy construyendo contra el último SDK (que tengo de todos modos) que es iOS 4.2

Estoy perplejo. ¿Es este un problema con XCode que no encuentra la ruta correcta al SDK o algo más profundo? De manera preocupante, noté que la URL a la que se hace referencia en el artículo http: //monotouch.net/Documentation/XCod) ahora falta, entonces ¿Novell MonoTouch lo eliminó deliberadamente por alguna razón?

Actualizar

Bueno, estoy completamente perplejo: tampoco puedo llamar de Mono a código Obj-C usando Selectores. Entonces, como último intento de zanja, estoy publicando el código:

@implementation MonoWrapper
- (id)init {
    self = [super init];

    if (self) {
        NSBundle *main = [NSBundle mainBundle];
        NSString *path = [main bundlePath];
        const char *c_path = [path UTF8String];

        [main autorelease]; 
        [path autorelease];

        chdir (c_path);
        setenv ("MONO_PATH", c_path, 1);
        setenv ("MONO_XMLSERIALIZER_THS", "no", 1);
        setenv ("DYLD_BIND_AT_LAUNCH", "1", 1);
        setenv ("MONO_REFLECTION_SERIALIZER", "yes", 1);

        _domain = mono_jit_init_version ("MonoTouch", "v2.0.50727");
        MonoAssembly *assembly = mono_assembly_open("PhoneGap.dll", NULL);
        MonoImage *image = mono_assembly_get_image(assembly);
        MonoClass *class = mono_class_from_name(image, "PhoneGap", "PhoneGap");
        MonoMethodDesc *methodDesc = mono_method_desc_new("PhoneGap.PhoneGap:getInt", TRUE);
        _callbackMethod = mono_method_desc_search_in_class(methodDesc, class);

        /* allocate memory for the object */
        _instance = mono_object_new (_domain, class);
        /* execute the default argument-less constructor */
        mono_runtime_object_init (_instance);   

    }
    // Done
    return self;
}

- (void)DoSomething {
    int jim = 0;
} 

- (int)multiplyA:(int)a {
    void *params[] = { self, @selector(DoSomething), &a };
    MonoObject *result = mono_runtime_invoke(_callbackMethod, _instance, params, NULL);
    int n = *(int*)mono_object_unbox (result);
    return n;
}
@end

Y en Mono:

using System;
using MonoTouch.ObjCRuntime;  

namespace PhoneGap
{
    public class PhoneGap
    {
        public PhoneGap ()
        {
        }

        public int getInt(IntPtr instance, IntPtr sel, int val) {


            Messaging.void_objc_msgSend (instance, sel);
            return val * 2;
        }
    }
}

¿Alguien puede decirme cómo obtener el identificador de instancia de Target en Mono y cómo obtener el Selector?

Respuestas a la pregunta(1)

Su respuesta a la pregunta