我是osx和xamarin开发的新手。我开发了一个应用程序,在C#中使用Xamarin.Mac在给定文件夹上做一些事情。 我使用Automator Service将此应用程序添加到Finder中右键单击文件夹菜单。 如何将右键单击的文件夹的名称传递给Xamarin应用程序?如果这不可能如何在XCode中将文件/文件夹浏览按钮添加到我的应用程序? 提前致谢
答案 0 :(得分:0)
在Automator中,您可以使用“运行Shell脚本”操作,并使用与您通过cmd行手动启动它时相同的参数打开XamMac应用程序。
这将是“Run Shell Script”作为“Automator Service”:
for f in "$@"
do
myArgs+="\""${f}"\""" "
done
echo "${myArgs}"
/Applications/XamMacStartupArgs.app/Contents/MacOS/XamMacStartupArgs "${myArgs}" &
在你的XamMac应用程序中,Main会收到传入的args,你当然会对它们做些什么:
static class MainClass
{
static void Main (string[] args)
{
Console.WriteLine (args[0]);
NSApplication.Init ();
NSApplication.Main (args);
}
}
注意:如果您需要将“参数”传递给正在运行的XamMac应用程序,则需要挂钩打开并重新打开Apple事件处理程序并以这种方式处理它们: