如何以编程方式在OS X上打开任何类型的文件?

nvi*_*rth 1 macos cocoa xamarin xamarin.mac

我试过这个:

var openedSuccessfully = AppKit.NSWorkspace.SharedWorkspace.OpenFile(filePath);
Run Code Online (Sandbox Code Playgroud)

它似乎有效,除了那些没有与之关联的默认应用程序的文件类型.当我尝试从Finder打开这样的文件时,我得到了这个对话框:

Finder的app选择器

有没有办法以编程方式打开这个(或类似的)app选择器窗口?

rob*_*ers 6

尝试使用该openFile:withApplication方法,将应用程序设置为Finder.这应该打开应用选择器窗口或默认应用程序,视情况而定.

// Opens app chooser
AppKit.NSWorkspace.sharedWorkspace().openFile(unknownFile, withApplication: "Finder") 
// Opens default application
AppKit.NSWorkspace.sharedWorkspace().openFile(knownFile, withApplication: "Finder")
Run Code Online (Sandbox Code Playgroud)

Xamarin.Mac格式:

NSWorkspace.SharedWorkspace.OpenFile(knownFile, "Finder");
Run Code Online (Sandbox Code Playgroud)