Si está haciendo esto en Mac, entonces sí, es posible. En iOS no tanto.
En Mac, si puede crear una aplicación CLI en MonoMac, puede llamar a su aplicación CLI desde su aplicación Objective-C utilizando NSTask. NSTask le permite lanzar fácilmente una herramienta de línea de comandos y luego capturar su salida e interactuar con ella. Para hacer esto, usted haría algo como:
NSArray *args = [NSArray arrayWithObjects:@"-arg1", @"-arg2", nil];
NSTask *foo = [[NSTask alloc] init];
[foo setLaunchPath:@"/usr/bin/foo"];
[foo setArguments:args];
NSPipe *pipe = [NSPipe pipe];
[foo setStandardOutput:pipe];
NSFileHandle *output = [pipe fileHandleForReading];
[foo launch];
NSData *data = [output readDataToEndOfFile];
NSString *outputStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Got stuff: %@", outputStr);
Por lo general, la forma en que quiere hacer esto, es incluir la aplicación CLI dentro de su paquete de aplicación. A continuación, puede obtener la ruta a la aplicación CLI utilizando NSBundles -pathForResource: ofType: method.
iOS no incluye la API de NSTask, por lo que no es posible. He oído de algunas personas que usan MonoTouch para hacer aplicaciones de iOS usando C#, pero como sugirió, creo que es mejor que se quede con Objective-C para la mayor parte de su aplicación si es posible. Usar una aplicación de CLI como la que describes es definitivamente una opción en Mac y puede ser particularmente útil cuando tienes un cuerpo de código que ya está escrito y probado y funciona que solo quieres "Ajustar" con una GUI de Cocoa.
Por lo tanto, NSTask es una forma de hacerlo utilizando un ejecutable CLI externo incluido en su paquete de aplicaciones. Por otro lado, es posible que se pregunte, ¿puede vincular su código C# directamente en Objective-C?
Bueno, Objective-C es un superconjunto de C, y como tal, tiene todas las capacidades de C. Además, si usa Objective-C++ también tiene todas las capacidades de C++. Entonces, si puede hacer que MonoMac genere una biblioteca estática C o C++, entonces sí, incluso podría vincular su biblioteca estática con su código de cacao Objective-C, y simplemente funcionará. No puedo decirte cómo hacer la biblioteca desde MonoMac, pero vincularla es solo una cuestión de agregarla a tus bibliotecas vinculadas en tus configuraciones de compilación en Xcode.
EDIT: No estoy familiarizado con C++/CLI como un lenguaje, y yo mal interpretado el significado de C++/CLI para significar "aplicación C++ interfaz de línea de comandos". Dicho eso ... las técnicas que describí se siguen aplicando como métodos posibles para hacer lo que quieres hacer, pero NO utiliza la interfaz C++/CLI como lo haces en Windows.
Esa es en realidad una pregunta bastante interesante. No sé cuál es la respuesta, pero estoy interesado en ver qué dice la gente sobre esto. –
... y es por eso que tenemos el botón de votación. – vidstige