尝试在Google上搜索但似乎无法找到任何信息。
我需要通过代码执行存在于dmg文件中的pkg文件。原因是软件更新。我通过我的应用程序下载更新(这是一个dmg),需要运行它。在Windows上,这非常简单:运行exe。无法弄清楚如何在Mac上实现这一目标。
就框架而言,我使用wxWidgets和cocoa(如果有帮助的话)。
答案 0 :(得分:1)
我不知道直接使用cocoa API执行此操作的方法,但您可以使用外部命令来执行此操作:使用/usr/bin/hdiutil attach /path/to/image.dmg
安装磁盘映像,然后使用{{1}安装包(有关更多信息和选项,请参阅/usr/sbin/installer -package /Volumes/mountedvolume/installer.pkg -target /
)。请注意,如果程序包需要管理员权限才能安装,则您需要以root身份运行man installer
命令。
编辑:要获取已安装卷的完整路径,您可能需要解析installer
的输出。虽然它很大程度上取决于磁盘映像的格式,但它看起来像这样:
hdiutil