¿Puede una aplicación iOS XCode reference ensamblados MonoTouch?

Estoy considerando cómo dividir mejor el esfuerzo entre los equipos para un nuevo proyecto. Tenemos un equipo de services de aplicaciones de Windows C # y un equipo iOS Objective-C más pequeño. También es probable que tarde o temprano se requiera una aplicación de Android.

Un set de capas / api de dominio en el dispositivo que llama a nuestros services y se encarga de sincronizar con un almacén de datos local es un componente lógico para escribir en C # y comstackr con MonoTouch. Entonces, el equipo de Objective-C hace reference a este componente. ¿Es eso posible? He leído mucho sobre MonoTouch que hace reference a ensamblados en C, pero ¿puede funcionar al revés?

¡Sería fantástico escuchar experiencias que intenten este enfoque si es posible!

Gracias Aaron

Aunque técnicamente posible, hoy en día no hay una forma fácil de hacerlo.

Lo mejor que puede hacer por ahora es iniciar la aplicación desde C # y luego, si lo desea, transferir el control a su código Objective-C. Durante el lanzamiento de C #, puedes registrar methods para que el código Objective-C vuelva a llamar usando P / Invoke para llamar a algo así:

delegate void some_callback_t (int parameter1, int parameter2); [DllImport ("__Internal")] void SetCallback (some_callback_t callback); static void mycallback (int parameter1, int parameter2) { // Here goes your C# logic to be called by C } 

Entonces llamas a:

 SetCallback (mycallback); 

Tenga en count que el mycallback tiene que ser un método estático (una limitación de la compilation estática). Entonces su código Objective-C puede consumir services implementando algo como:

  typedef (*callback_t) (int p1, int p2); callback_t callback; void SetCallback (callback_t cb) { callback = cb; } void InvokeCSharp () { callback (1, 2); }