当前位置:  开发笔记 > 编程语言 > 正文

如何构建dmg Mac OS X文件(在非Mac平台上)?

如何解决《如何构建dmgMacOSX文件(在非Mac平台上)?》经验,为你挑选了4个好方法。

是否可以从非Mac平台构建.dmg文件(用于分发应用程序)?如果是,怎么样?



1> 小智..:

是的,mkfs.hfsplus做到了.

dd if=/dev/zero of=/tmp/foo.dmg bs=1M count=64
mkfs.hfsplus -v ThisIsFoo /tmp/foo.dmg

这将创建一个可以安装在mac上的dmg文件(在本例中为64M).它也可以安装在linux上,类似于

mount -o loop /tmp/foo.dmg /mnt/foo

之后你只需要复制你想要的内容(在/ mnt/foo中).卸载它,dmg可以复制到mac并安装在那里.



2> uckelman..:

我工作的项目使用genisoimage在Linux上创建DMG文件:

mkdir -p dmgdir/progname.app/Contents/{MacOS,Resources}
...copy your PkgInfo, Info.plist to Contents...
...copy your .icns to Resources...
...copy your other things to where you expect them to go...
genisoimage -V progname -D -R -apple -no-pad -o progname.dmg dmgdir 

如果你想成为真正看中的,你可以窃取.DS_Store从DMG文件在Mac上做出了卷名progname叫做和应用程序包progname.app(即,匹配您要创建离开苹果什么的),你已经把背景.background/background.png和根目录中的/ Applications的符号链接,并将其dmgdir与您自己的符号链接一起放入/Applications.



3> Nik Reiman..:

似乎可以使用一些第三方工具创建DMG文件.快速谷歌搜索显示至少一些商业工具:

TransMac

MagicISO

不确定任何OSS /免费软件选项,但如果你这么倾向,它至少看起来是可能的.

编辑:我也忘记了MacDrive,这是在Windows下使用HFS +文件系统的另一个很棒的工具.由于DMG基本上只是一个HFS +文件系统快照,因此MacDrive也可以创建DMG.



4> 小智..:
git clone https://github.com/hamstergene/libdmg-hfsplus
cd libdmg-hfsplus && cmake . && make && cd dmg
./dmg --help

Makefile文件:

dmg:
    genisoimage -D -V "$(PROJECT) $(VERSION)" -no-pad -r -apple -o project-$(VERSION)-uncompressed.dmg $(DARWIN_DIR)
    ./dmg dmg project-$(VERSION)-uncompressed.dmg project-$(VERSION).dmg

未压缩的工作开箱即用,压缩可能会导致问题 - 起源/主人至少会对雪豹产生'校验和'错误

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有