我在Mac OS X Sierra上使用electron-packager
。我可以轻松打包整个应用程序,这会创建一个release
文件夹。在其中,有一个名为<AppName>.app
的文件夹,我可以打开它。
我想让.dmg
轻松分发它。但是,此文件夹以非常神秘的方式运行。我去了磁盘工具,并从文件夹中选择了新图像。当我选择我的.app
文件夹时,它已经以某种方式显示为完整的应用程序。它不会显示为文件夹。
我试过把文件夹去皮。
tar -cvzf app.tar.gz MyApp.app
然而,当我在finder中提取它时,它也变成了一个完整的工作应用程序。
.app文件夹的这种奇怪行为是什么?它如何作为可安装的.dmg分发?
答案 0 :(得分:1)
macOS上的应用程序通常存储在"application bundle"中(顺便说一句,与Webpack / Browserify完全无关)。
在Finder和文件对话框中,这些似乎是单个项目。正如你所说,一个“完整的应用程序”。然而,在引擎盖下,这些项目实际上是目录/文件夹。如果从较低级别的角度来看,比如终端,你会看到一个名为MyApp.app
的目录。
如果要从中创建DMG,请使用包含应用程序包的release
文件夹。如果还有其他文件你不想添加到DMG,要么删除它们,要么创建一个新的空目录,在那里移动应用程序,并使用那个作为文件夹来创建DMG来自。