首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建DMG文件

创建DMG文件
EN

Stack Overflow用户
提问于 2009-08-06 09:47:09
回答 8查看 17.4K关注 0票数 19

我正在用Cocoa开发一个应用程序。我需要创建一个DMG文件来安装我的应用程序,比如Adium (它提供了一个很好的UI来将应用程序文件拖到application文件夹中)。有没有解决这个问题的工具?

EN

回答 8

Stack Overflow用户

发布于 2009-08-06 15:31:40

如果您有用户可能会复制到应用程序目录的单个文件,则“支持internet的”磁盘映像是一个很好的替代方案。当您使用Safari (我知道,并不是每个人都使用Safari)下载时,它会自动挂载它,将内容复制到下载位置,然后卸载DMG并将其移动到垃圾桶。应用程序不会自动转到应用程序,但它在用户的硬盘上,他们不必担心摆弄磁盘映像。

只需使用一条终端命令即可启用磁盘映像:

代码语言:javascript
复制
hdiutil internet-enable -yes "MyDiskImage.dmg"

这应该适用于任何DMG文件。如果你想让用户看到你漂亮的背景,你可能不想这样做。然而,对于简单的有效负载,这是一种很好的方式。(当然,有些人更喜欢为这种部署创建ZIP文件。)

我发现手动创建DMG可能是一件痛苦的事情。实际上,您可以在Xcode项目中自动创建一个简单的DMG。只需创建外壳脚本目标(项目→新建目标...)并在脚本中使用hdiutil。该命令如下所示(替换正确的名称和目录):

代码语言:javascript
复制
hdiutil create -fs HFS+ -volname "MyApp 1.0" -srcfolder \
"/directory/with/contents/to/package/" "~/Desktop/MyApp-1.0.dmg"`

您需要将您想要包含在磁盘映像中的所有内容放在一个目录中,但是如果您不怕在终端中使用cp,这很容易做到。

如果您想看一个示例,我自己在CHDataStructures.framework中使用了这种方法。如果签出代码并在Xcode中打开,部署目标中的第二个脚本将创建DMG。

票数 19
EN

Stack Overflow用户

发布于 2009-08-06 09:55:50

磁盘实用程序(位于应用程序\实用程序中)

转到File > New > Disk Image From Folder,然后选择要为其创建映像的文件夹。生成的.dmg将复制您用来制作图像的文件夹,一直复制到图标的位置。

票数 17
EN

Stack Overflow用户

发布于 2009-08-06 13:25:16

Nic博士组装了一个很好的ruby gem,它为你完成了大部分工作,你只需要提供xcode项目和一些图形。链接在这里:

http://drnicwilliams.com/2009/02/03/choctop-packaging-and-deployment-of-cocoa-applications/

这是一个很棒的包,可以处理那些原本令人痛苦的任务……

--埃文

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1237951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档