我正在使用Cocoa开发一个应用程序.我需要创建一个DMG文件来安装我的应用程序,如Adium(它提供了一个很好的UI来将应用程序文件拖到Application文件夹).有这个工具吗?
如果您有一个用户可能会复制到Applications目录的文件,那么"启用Internet"的磁盘映像是一个不错的选择.当你使用Safari下载一个(我知道,不是每个人都使用Safari)时,它会自动安装它,将内容复制到下载位置,然后卸载DMG并将其移动到垃圾箱.该应用程序不会自动转到应用程序,但它位于用户的HD上,他们不必担心摆弄磁盘映像.
使用单个终端命令可以在Internet上启用磁盘映像:
hdiutil internet-enable -yes "MyDiskImage.dmg"
这适用于任何DMG文件.如果您希望用户看到漂亮的背景,您可能不想这样做.但是,对于简单的有效载荷,这是一个很好的方法.(当然,有些人更愿意为这种部署创建一个ZIP文件.)
我发现手动创建DMG可能会很痛苦.实际上,您可以在Xcode项目中自动创建简单的DMG.只需创建一个Shell脚本目标(项目→新目标...)并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.
磁盘工具(位于Applications\Utilities中)
转到File
> New
> Disk Image From Folder
,然后选择要创建的图像的文件夹.生成的.dmg将复制用于制作图像的文件夹,直至图标的位置.
Nic博士整理了一个漂亮的红宝石宝石,为你完成大部分工作,你只需要提供xcode项目和一些图形.链接在这里:
http://drnicwilliams.com/2009/02/03/choctop-packaging-and-deployment-of-cocoa-applications/
这是一个伟大的包,照顾其他痛苦的任务......
- 埃文