今天我在测试我 pkgbuilded 的几个扁平包的安装时遇到了同样的问题: /Library /System 和 /usr 的内容已正确安装,但 /Applications 中什么都没有!
感谢一个工作包,我发现我必须指定一个“空”component.plist 以确保安装程序正常工作......
这是使用 pkgbuild --analyze 生成的 component.plist
工作包:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array/>
</plist>
非工作包:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>BundleHasStrictIdentifier</key>
<true/>
<key>BundleIsRelocatable</key>
<true/>
<key>BundleIsVersionChecked</key>
<true/>
<key>BundleOverwriteAction</key>
<string>upgrade</string>
<key>RootRelativeBundlePath</key>
<string>Applications/MyApp.app</string>
</dict>
</array>
</plist>
在 pkg 构建组件时使用 --component-plist 指定工作的 component.plist 可以解决问题:现在所有 .pkg 都可以正常工作