アプリで Sparkle を使用し、シェル スクリプトの実行ビルド フェーズを介してフレームワークに署名します。これは正常に動作し、ビルド エラーは発生しません。問題は、Sparkle による更新がないことです。アップデーターは次のように述べています。
アーカイブの抽出中にエラーが発生しました
間違ったコード署名がこのエラーを引き起こす可能性はありますか? これは Sparkle のエラーではなく、RSS xml ファイルは 100% 正しいと確信しています。古いバージョンの更新も機能します。
これは非 MAS アプリであり、開発者 ID アプリケーション証明書を使用してすべてに署名しています。ゲートキーパーを有効にしてアプリを実行できます (spctl -a -v と表示されます: 承認済み)。手動で解凍して起動すると、正しいメッセージが表示されるので問題ありません。
以前のバージョンとの違いは、これが新しい Mac でビルドした最初のアプリ バージョンであることです。Xcode に開発者 ID を追加し、必要なすべての証明書を受け取っています。Xcodeが新しいものを作成したと思いますが、これは問題ではなく、新しいものを使用するだけです。これもエラーの原因になるかどうかはわかりません。誰かそれについてもっと知っていますか?ありがとう。
ところで:コード署名に「Developer ID」を選択し、その後ビルド設定ビューでコード署名を開発者 ID に設定すると、一般ビューのラジオ ボタンが「なし」に戻ります。
編集:スクリプト
LOCATION="${BUILT_PRODUCTS_DIR}"/"${FRAMEWORKS_FOLDER_PATH}"
IDENTITY="Developer ID Application: Name"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/Sparkle.framework/Versions/A"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/ShortcutRecorder.framework/Versions/A"
XPC サービスの回線がありませんが、必要ですか? アプリで xpc サービスを使用していないと思います。