我正在使用electron-packager
在 Mac OS X Sierra 上。我可以轻松打包整个应用程序,这会创建一个 release
文件夹。其中,有一个名为 <AppName>.app
的文件夹。 ,我可以打开它。
我想做一个.dmg
轻松分发它。然而,这个文件夹的行为方式非常神秘。我转到“磁盘工具”,并从文件夹中选择了新图像。当我去选择我的.app
时文件夹中,它已经以某种方式显示为完整的应用程序。它不显示为文件夹。
我尝试给文件夹去皮。
tar -cvzf app.tar.gz MyApp.app
但是,当我在 Finder 中提取它时,它也是一个完整的、可以工作的应用程序。
.app 文件夹的这种奇怪行为是什么以及如何将其作为可安装的 .dmg 分发?
最佳答案
macOS 上的应用程序通常存储在 "application bundle" 中(顺便说一下,与 Webpack/Browserify 完全无关)。
在 Finder 以及文件对话框中,这些似乎是单个项目。正如您所说,“完整的应用程序”。然而,在幕后,这些项目实际上是目录/文件夹。如果您从较低级别的 Angular (例如从终端)查看它,您将看到一个名为 MyApp.app
的目录。
如果您想从中创建 DMG,请使用包含应用程序包的 release
文件夹。如果其中还有您不想添加到 DMG 的其他文件,请删除它们,或创建一个新的空目录,将应用程序移至此处,然后使用that作为文件夹来创建DMG 来自。
关于javascript - .app 文件夹是什么?如何将其转换为 .dmg 存档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40044922/