Sparkle フレームワークを使用した Qt 5.4 アプリケーションがあります。Mac OS X 10.11 の Gatekeeper は、サーバーからのダウンロード後に「開発者が不明です」というエラーが表示されます。いくつかの調査の後 (codesign --strict は sparkle にファイルが見つからないことを示します)、Sparkle フレームワークの壊れたシンボリック リンクを削除しました。次に、アプリを再構築し、codesign と spctl の両方でチェックします
codesign --verbose --deep --strict myapp.app
結果は次のとおりです。 myapp.app: 指定された要件を満たします
spctl --assess --type exec --verbose myapp.app の表示: 承認済み
次に、dmg イメージをビルドし、イメージからインストールすると、アプリは問題なく実行されます。次に、dmg をサーバーにアップロードし、サーバーからダウンロードしました。MD5 チェックサムが一致します。
ただし、アプリを /Applications フォルダーにドラッグ アンド ドロップして実行すると、OS はアプリケーションが破損しているため、ゴミ箱に移動する必要があることを示しています。
コードにはリソースがありませんが、署名はそれらが存在する必要があることを示しています
サーバーからアプリをダウンロードするだけで、spctl の出力が変わりました。同じビルドスクリプトがこのエラーなしでいくつかのリリースを作成したため、リソースとは何の関係もないと思います (アプリにはリソースがあります)。スクリプトは qt フレームワーク構造を変更しますが、それは 10.10 で動作します。
新しい Mac OS 10.11 をビルドし、xcode 7.0.1、Qt 5.5 をインストールし、アプリを再ビルドしました (App バンドルの Qt フレームワーク構造を変更するスクリプトは使用しません)。まったく同じ結果: アプリはアップロード前に codesign と spctl の両方を渡し、ダウンロード後に同じエラーで失敗しました。
本質的に、Sparkle フレームワークの壊れたリンクを削除した後、アプリ バンドルは「不明な開発者」から「破損した画像」に変更されました。
誰かがどこが間違っていたのか教えてもらえますか?