C# 将数据或文件发送到Mac上的其他应用程序

C# 将数据或文件发送到Mac上的其他应用程序,c#,objective-c,macos,file,xamarin,C#,Objective C,Macos,File,Xamarin,我的程序为另一个应用程序生成脚本。如何在该应用程序中打开此脚本?是否可以在不使用外部文件的情况下完成?我的程序是用Xamarin和C#编写的(由于使用了一个C#库),但显然任何Objective-C解决方案都是合适的。我发现唯一的方法是将信息写入文件,并用另一个应用程序以编程方式打开此文件。类有助于做到这一点: NSString *data = @"Some data"; NSString *filename = @"Some filename"; [data writeToFile:path

我的程序为另一个应用程序生成脚本。如何在该应用程序中打开此脚本?是否可以在不使用外部文件的情况下完成?我的程序是用Xamarin和C#编写的(由于使用了一个C#库),但显然任何Objective-C解决方案都是合适的。

我发现唯一的方法是将信息写入文件,并用另一个应用程序以编程方式打开此文件。类有助于做到这一点:

NSString *data = @"Some data";
NSString *filename = @"Some filename";
[data writeToFile:path
       atomically:NO
         encoding:NSUTF8StringEncoding
            error:nil];
[[NSWorkspace sharedWorkspace] openFile:filename
                        withApplication:@"Graphviz"];
C#的代码是:


可能,要在不使用文件的情况下实现这一点,外部应用程序必须支持AppleScript,但它不支持。

是的,感谢不接地的减号,现在没有人会看到并回答我的问题……另一个应用程序可以编写脚本吗?这可能是因为你只想要你的答案,而不想分享重要信息,比如你的应用程序是否被沙盒了。@Willeke no。它只能打开文件。可能是因为answer@ElTomato准确地说,我使用Xamarin(因为我需要使用一个用C#编写的库)。我想,这不是沙盒。我以前不知道这个选项,因此没有说过任何关于它的事情。
using AppKit;
using System.IO;
...
string data = "Some data";
string filename = "Some filename";
File.WriteAllText (filename, data);
NSWorkspace.SharedWorkspace.OpenFile (filename, "Graphviz");