2

我想在下载后以最少的用户交互在 OS X 上运行已编译的程序。

在Windows上,您可以下载一个.exe,然后直接选择“运行”,即1单击。

我对 OS X 不是很熟悉,并且不确定我是否需要 PKG、DMG,或者是否有某种方法可以执行相当于“单次拍摄”.exe 的操作。

我不关心应用程序是否正确安装等。实际上,如果它可以在执行后自行删除,那将是可取的,但这不是必需的。如果用户需要再次运行它,他们可以重复下载和运行过程。

我了解运行从 Internet 下载的程序很危险。

4

3 回答 3

3

您可以使用所谓的“支持 Internet 的”磁盘映像:然后 Safari 会将内容复制到下载文件夹并丢弃该映像,而无需用户摆弄安装和卸载它。hdiutil internet-enable -yes YourDiskImage.dmg

但我可能会使用一个简单的 zip 文件。

于 2012-05-23T19:25:21.933 回答
1

分发不需要安装程序的应用程序的典型方法是 DMG。但是,我也看到了将 .app 文件夹直接放在 zip 文件中的示例。如果您下载这样一个仅包含 .app 的 zip 文件,Safari 似乎会自动提取 zip 文件并将其替换为 .app。然后,用户只需从 Finder 或直接从“下载”对话框运行应用程序,并确认有关运行下载代码的问题。

其他浏览器似乎不会自动进行提取,但即便如此,它也非常简单,因为提取 zip 文件就像运行应用程序本身一样简单。

于 2012-05-23T17:57:41.007 回答
0

这可能不是你想要的,但是……我不能 100% 确定,所以如果它你想要的:

“single-shot .exe”的等价物是单次可执行文件。您实际上不必拥有 .app 包;您可以从 Finder(或从 Dock,或“打开”命令或其他)启动命令行可执行文件,它将通过在终端中打开一个窗口来运行。输出将如下所示:

Last login: Wed May 23 18:52:23 on ttys000
MyMac:~me$ /Users/me/Downloads/myexecutable ; exit;
logout
[Process completed]

任何在 Windows 中构建和运行命令行可执行文件的人都应该熟悉这一点。

如果您使用 Xcode,只需创建一个“命令行工具”而不是“Cocoa 应用程序”。如果您不使用 Xcode,只需像在 Linux 上一样编译即可。

如果您确实需要创建 GUI 窗口、与菜单栏交互、发送和接收 Apple 事件或类似的东西,这不是正确的答案。但是,如果您正在为自己或其他精通技术的用户寻找快速而肮脏的东西,它可能是。

于 2012-05-24T02:02:01.520 回答