今日、pkgbuild したいくつかのフラット パッケージのインストールをテストしているときに、同じ問題に遭遇しました。
ある作業パッケージのおかげで、インストーラーが正しく動作することを確認するには、「空の」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>
コンポーネントを pkgbuild するときに --component-plist で動作する component.plist を指定するとうまくいきました: すべての .pkg が正しく動作するようになりました