3

当我尝试使用我的 .app 打包来创建 Mac 安装程序并运行安装程序时,它会在我的 /Applications 文件夹中创建一个名为“Contents”的文件夹,而不是应该的“捆绑应用程序”。

我已经用 pkgbuild + productbuild 进行了测试:

pkgbuild --component "./myapp.app" --version 1 --install-location /Applications component.pkg
productbuild  --package-path "component.pkg" --distribution "./Distribution.xml" --package-path "./Temp" --resources "./Resources" --sign mycert "myapp.pkg"

只需使用productbuild:

productbuild --component "./myapp.app" /Applications -s mycert myapp.pkg

在这两种情况下,我都运行安装程序,一切似乎都很好,但在 Applications 文件夹中我看到“Contents”(这是应用程序包的内容)

我也尝试在 --component 属性中使用“./myapp.app/”,甚至在 --install-location 中添加“/Applications/myapp.app”

4

2 回答 2

2
pkgbuild --component "./myapp.app" --version 1 --install-location /Applications component.pkg

使用该--component标志,您应该提供您的捆绑包所在的目录路径。您不应该提供应用程序包名称的路径。如果要捆绑 中存在的内容./TestDir/myapp.app,则应提供路径,因为./TestDir目录中的所有内容都将被捆绑。

pkgbuild --component "./TestDir" --version 1 --install-location /Applications component.pkg

使用目标根目录 /tmp/Sample.dst 的全部内容构建包 Sample.pkg。

pkgbuild --identifier com.sample.pkg.app --root /tmp/Sample.dst Sample.pkg
于 2015-03-30T06:39:36.550 回答
1

正如 Vikram 所说,pkgbuild 不应该捆绑“.app”,而是只查找该目录中存在的“内容”。

如果您的唯一目标是更改安装包的目录,您可以指定一个替代安装位置。

pkgbuild --component "./myapp.app" --version 1 --install-location /Applications/myapp.app component.pkg
于 2015-05-14T21:58:33.967 回答