【问题标题】:Send data or a file to another application on Mac将数据或文件发送到 Mac 上的另一个应用程序
【发布时间】:2016-04-03 17:10:03
【问题描述】:

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

【问题讨论】:

  • 是的,谢谢你毫无根据的减号,现在没有人会看和回答我的问题......
  • 其他应用程序是否可编写脚本?
  • 这可能是因为您只想要您的答案而不共享重要信息,例如您的应用程序是否被沙盒化。
  • @Willeke 没有。它只能打开文件。大概,就是答案
  • @ElTomato 准确地说,我使用 Xamarin(因为我需要使用用 C# 编写的库)。我想,它不是沙盒。我以前不知道这个选项,因此没有说什么。

标签: c# objective-c macos file xamarin


【解决方案1】:

我发现唯一的方法是将信息写入文件并使用另一个应用程序以编程方式打开该文件。 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,但它不支持。

【讨论】:

    猜你喜欢
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多