我已经用XCODE为MACOS创建了一个命令行应用程序。
它是一个简单的C程序,接受作为ARGV传递到命令行的文件名。
我的问题是:如何在创建的可执行文件上启用拖放,以便只需将fine拖动到可执行文件即可传递ARGC参数?
发布于 2019-07-17 03:11:31
当您创建一个简单的可执行命令行程序时,当您只是将一个文件拖放到它上面时,macOS并不知道您想要做什么。您需要做的是创建一个适当的macOS应用程序。
为此:
/path/to/test
是 C 可执行文件的实际路径。一旦您将一个文件拖到新创建的.app
上,它将简单地调用您的C可执行文件,并将文件名作为第一个参数传递,或者,对于许多文件,传递所有文件名。
举个例子,我做了一个小的Python脚本~/Desktop/test.py
,它需要是可执行的(chmod +x ~/Desktop/test.py
):
#!/usr/bin/env python
import sys
print("Running a script with " + str(sys.argv[1:])
然后,我创建了以下Automator操作:
这样做的目的是捕获Python脚本的输出,并在脚本完成后显示包含该输出的通知。因此,当我将test.py
文件拖到.app
上时,会得到以下输出:
https://stackoverflow.com/questions/57064400
复制相似问题