mic*_*con 53 macos installer dmg
是否可以从非Mac平台构建.dmg文件(用于分发应用程序)?如果是,怎么样?
小智 34
是的,mkfs.hfsplus做到了.
dd if=/dev/zero of=/tmp/foo.dmg bs=1M count=64
mkfs.hfsplus -v ThisIsFoo /tmp/foo.dmg
Run Code Online (Sandbox Code Playgroud)
这将创建一个可以安装在mac上的dmg文件(在本例中为64M).它也可以安装在linux上,类似于
mount -o loop /tmp/foo.dmg /mnt/foo
Run Code Online (Sandbox Code Playgroud)
之后你只需要复制你想要的内容(在/ mnt/foo中).卸载它,dmg可以复制到mac并安装在那里.
uck*_*man 29
我工作的项目使用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
Run Code Online (Sandbox Code Playgroud)
如果你想成为真正看中的,你可以窃取.DS_Store从DMG文件在Mac上做出了卷名progname叫做和应用程序包progname.app(即,匹配您要创建离开苹果什么的),你已经把背景.background/background.png和根目录中的/ Applications的符号链接,并将其dmgdir与您自己的符号链接一起放入/Applications.
小智 8
git clone https://github.com/hamstergene/libdmg-hfsplus
cd libdmg-hfsplus && cmake . && make && cd dmg
./dmg --help
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
未压缩的工作开箱即用,压缩可能会导致问题 - 起源/主人至少会对雪豹产生'校验和'错误
| 归档时间: |
|
| 查看次数: |
56729 次 |
| 最近记录: |