pkgbuild
とproductbuild
を使用して作成した.pkg
ファイルとして配布するアプリがあります。 macOS Catalinaでは、これはもう機能しません。インストーラは、システムボリュームにコンテンツをインストールしようとしていると不平を言います。
エラーは、Javaランタイムのバンドルに関係していると考えました。Javaとは何の関係もないことが判明しました。3週間前に投稿しました。
それをテストするために、メインウィンドウとクリックするボタンを備えたHelloと呼ばれる最小のプロジェクトがあります。 XCodeでは、Product-> Archive、次にDistribute App、およびCopy Appを実行します。これにより、内容Hello 2019-12-18 15-01-07
を含むディレクトリHello.app
が作成されます。アプリは正常に動作します。次に、pkgbuild --root *7 Hello.pkg
がHello.pkg
を作成します。
FinderでHello.pkgをダブルクリックすると、インストーラーに[紹介]、[宛先の選択](オプションは1つだけ提供されます)、およびインストールタイプ( "Macintosh HDへの標準インストール")の画面が表示され、パスワードを要求されます。次に、「このパッケージはこのバージョンのmacOSと互換性がありません。パッケージはシステムボリュームにコンテンツをインストールしようとしています。ソフトウェアの製造元に問い合わせてください。」
私がコード署名して公証しても、違いはありません。 Productbuildは、失敗したプロセスにレイヤーを1つだけ追加します。
何が欠けていますか?
私たちは同様の問題に直面していました。 pkgbuildコマンドのオプション-install-locationを使用して問題を修正できます。 -install-locationオプションを使用しない場合、pkgbuildは多くの場合、デフォルトのインストール場所として「/」を使用します。 macOS Catalinaでは、特定のフォルダーのみが書き込み可能です。詳細はこちら link を参照してください。この場合、パッケージのインストールは、/ usr/local、/ opt、/ Applicationsなどの書き込み可能なフォルダーの1つをデフォルトのインストール場所として指定した場合にのみ成功しました。