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

时间:2016-04-03 17:10:04

标签: c# objective-c macos file xamarin

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

1 个答案:

答案 0 :(得分:0)

我发现唯一的方法是将信息写入文件并以编程方式使用其他应用程序打开此文件。课程NSWorkspace有助于实现这一目标:

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

C#的代码:

using AppKit;
using System.IO;
...
string data = "Some data";
string filename = "Some filename";
File.WriteAllText (filename, data);
NSWorkspace.SharedWorkspace.OpenFile (filename, "Graphviz");

或许,要在不使用文件的情况下执行此操作,外部应用程序必须支持AppleScript,但事实并非如此。