我正在用Cocoa开发一个应用程序。我需要创建一个DMG文件来安装我的应用程序,比如Adium (它提供了一个很好的UI来将应用程序文件拖到application文件夹中)。有没有解决这个问题的工具?
发布于 2009-08-06 15:31:40
如果您有用户可能会复制到应用程序目录的单个文件,则“支持internet的”磁盘映像是一个很好的替代方案。当您使用Safari (我知道,并不是每个人都使用Safari)下载时,它会自动挂载它,将内容复制到下载位置,然后卸载DMG并将其移动到垃圾桶。应用程序不会自动转到应用程序,但它在用户的硬盘上,他们不必担心摆弄磁盘映像。
只需使用一条终端命令即可启用磁盘映像:
hdiutil internet-enable -yes "MyDiskImage.dmg"这应该适用于任何DMG文件。如果你想让用户看到你漂亮的背景,你可能不想这样做。然而,对于简单的有效负载,这是一种很好的方式。(当然,有些人更喜欢为这种部署创建ZIP文件。)
我发现手动创建DMG可能是一件痛苦的事情。实际上,您可以在Xcode项目中自动创建一个简单的DMG。只需创建外壳脚本目标(项目→新建目标...)并在脚本中使用hdiutil。该命令如下所示(替换正确的名称和目录):
hdiutil create -fs HFS+ -volname "MyApp 1.0" -srcfolder \
"/directory/with/contents/to/package/" "~/Desktop/MyApp-1.0.dmg"`您需要将您想要包含在磁盘映像中的所有内容放在一个目录中,但是如果您不怕在终端中使用cp,这很容易做到。
如果您想看一个示例,我自己在CHDataStructures.framework中使用了这种方法。如果签出代码并在Xcode中打开,部署目标中的第二个脚本将创建DMG。
发布于 2009-08-06 09:55:50
磁盘实用程序(位于应用程序\实用程序中)
转到File > New > Disk Image From Folder,然后选择要为其创建映像的文件夹。生成的.dmg将复制您用来制作图像的文件夹,一直复制到图标的位置。
发布于 2009-08-06 13:25:16
Nic博士组装了一个很好的ruby gem,它为你完成了大部分工作,你只需要提供xcode项目和一些图形。链接在这里:
http://drnicwilliams.com/2009/02/03/choctop-packaging-and-deployment-of-cocoa-applications/
这是一个很棒的包,可以处理那些原本令人痛苦的任务……
--埃文
https://stackoverflow.com/questions/1237951
复制相似问题