Si vous ne le faites pas sur Mac, alors oui, c'est possible. Sur iOS, pas tellement.
Sur le Mac, si vous pouvez créer un CLI application dans MonoMac, alors vous pouvez appeler votre CLI application à partir de l'intérieur de votre Objectif-C application à l'aide de NSTask. NSTask vous permet de lancer facilement une ligne de commande outil et le capturer à la sortie et d'interagir avec elle. Pour ce faire, vous devez faire quelque chose comme:
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);
Généralement, la façon dont vous voulez le faire, est de vous inclure à la CLI d'application à l'intérieur de votre app bundle. Ensuite, vous pouvez obtenir le chemin d'accès à la CLI d'application à l'aide de NSBundles -pathForResource:ofType: la méthode.
iOS ne comprend pas le NSTask API, donc ce n'est pas possible. J'ai entendu parler de certaines personnes à l'aide de MonoTouch pour faire des applications iOS à l'aide de C#, mais comme vous l'avez suggéré, je pense que vous êtes mieux de rester avec Objective-C pour la majeure partie de votre application, si possible. À l'aide d'une CLI application comme vous décrivez est certainement une option sur Mac et peut être particulièrement utile lorsque vous avez un corps de code qui est déjà écrit et testé et fonctionne que vous voulez juste pour "Envelopper" avec un Cacao de l'interface graphique.
Donc, NSTask est une façon de faire cela à l'aide d'une CLI exécutable enveloppé dans votre application bundle. D'autre part, vous demandez peut-être, pouvez-vous lier votre code C# directement en Objective-C?
Eh bien, Objective-C est un sur-ensemble de C, et en tant que tel, il dispose de toutes les capacités de C. en Outre, si vous utilisez Objective-C++, il a toutes les fonctionnalités de C++. Donc, SI vous pouvez obtenir MonoMac pour générer un C ou C++ statique de la bibliothèque, alors oui, vous pouvez même juste un lien de votre bibliothèque statique avec votre Objectif-C de cacao code, et il va tout simplement de travail. Je ne peux pas vous dire comment faire de la bibliothèque de MonoMac, mais faire des liens, c'est juste une question de l'ajouter à vos bibliothèques liées dans vos paramètres de construction dans Xcode.
EDIT: je ne suis pas familier avec le C++/CLI est comme une langue, et j'ai mal interprété le sens de C++/CLI pour dire "C++ Interface de Ligne de Commande app". Cela dit... les techniques que j'ai décrit toujours appliquer les méthodes possibles pour faire ce que vous voulez faire, mais il n'est PAS en utilisant le C++/CLI interface comme vous pouvez le faire sur Windows.