当我尝试将打包与.app一起使用来创建 Mac 安装程序并运行安装程序时,它会在我的/Applications 文件夹中创建一个名为"内容"的文件夹,而不是"捆绑应用程序"。
我已经用 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 --component "./myapp.app" /Applications -s mycert myapp.pkg
在这两种情况下,我都运行安装程序,一切似乎都很好,但是在"应用程序"文件夹中,我看到"内容"(即应用程序包的内容)
我也尝试在 --component 属性中使用"./myapp.app/",甚至在 --install-location 中添加"/Applications/myapp.app"
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
正如Vikram所说,pkgbuild不应该捆绑".app",而是只查找该目录中存在的"内容"。
如果您的唯一目标是更改为安装捆绑包的目录,则可以指定备用安装位置。
pkgbuild --component "./myapp.app" --version 1 --install-location /Applications/myapp.app component.pkg