PackageMakerの代わりにpkgbuildを使用するようにいくつかのビルドスクリプトを更新していますが、コンポーネントパッケージで再起動を要求するオプションが表示されません。PackageMakerでは、再起動の要求は、次の2つの方法のいずれかを使用して実行できます。
- (レガシー互換モード)Info.plistで、IFPkgFlagRestartActionをRequiredRestartに設定します。
- PackageInfoファイルで、pkg-info>postinstall-actionを再起動するように設定します。
pkgbuildまたはそのコンポーネントパッケージplistに同様のオプションが表示されません。productbuildを使用してディストリビューションをビルドする場合、ディストリビューションファイルのpkg-ref>onConclusionキーを使用してパッケージごとに再起動を要求することを選択できることを理解しています。しかし、これが(PackageMakerを使用せずに)今これを行う唯一の方法ですか?もしそうなら、なぜこの要件がコンポーネントパッケージからそれらに依存するディストリビューションに移されたのか疑問に思います。私の考えでは、コンポーネントパッケージは、独自の要件を指定できる場合でも、よりモジュール化されたままでした。
編集:結果のPackageInfoでpostinstall-action = "restart"を設定すると、強制的に再起動できます。ここで問題となるのは、pkgbuildにそれをPackageInfoファイルに自動的に書き込むように教える方法です。