【问题标题】:C++ library to interface .dmg files on Mac在 Mac 上连接 .dmg 文件的 C++ 库
【发布时间】:2009-12-29 21:52:30
【问题描述】:

我想编写一个 C++ 程序,它产生一个线程来执行 .dmg 文件并在 Snow Leopard 上监控它的完成(成功/失败)。这会和 Linux 上的 fork/exec 一个 shell 脚本一样简单吗?我需要第 3 方 C++ 库来连接 .dmg 文件吗?

【问题讨论】:

  • .dmg 文件不可执行,它们是您可以挂载的磁盘映像文件,有些类似于 .iso 文件。他们不执行。
  • 抱歉,StackOverflow 也是新手 :)

标签: c++ macos osx-snow-leopard


【解决方案1】:

OS X 上的 .dmg 文件是卷或单个文件系统映像的容器,因此不清楚您所说的执行 .dmg 文件是什么意思。如果您的意思是挂载 .dmg 文件中包含的文件系统,最简单的方法是使用 hdiutil 命令:

hdiutil attach /path/to/file.dmg

如果您需要解析有关已挂载文件系统的信息,请使用 -plist 参数,该参数将通过标准输出以 OS X plist 格式返回该信息。

【讨论】:

  • 对不起,我第一次在 Mac 上开发。我们的 Mac 安装包是一个 .dmg 文件,所以我把它当作一个 .msi 文件来对待,这显然是错误的。所以我猜我需要先挂载 .dmg 文件,然后在里面运行安装程序?
  • 正确,如果有安装程序。 Apple 建议尽可能避免使用安装程序。如果产品是独立的 .app,您可以将应用程序发布到 dmg 上,用户只需使用 Finder 将其复制到他们的硬盘(通常是 /Applications)。 hdiutil 也可用于创建 .dmg 文件,顺便说一句。
猜你喜欢
  • 2015-05-22
  • 2015-08-29
  • 1970-01-01
  • 1970-01-01
  • 2016-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多