私はAppleの署名システムに完全に困惑しています。それは私をナッツドライブ。ゲートキーパーが私のアプリケーションバンドルを拒否する
MacOS 10.12で手作業で署名しているQtアプリ(XCodeエコシステムを使わない)があります。
署名した後、ここで推奨されているように、私は協調設計--verify --deep --strict --verbose = 2 PATHTOAPPを実行します。https://developer.apple.com/library/content/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG211
そして私が手:期待されている
valid on disk satisfies its Designated Requirement
、有効な結果。私は協調設計-dv --verbose = 4 PATHTOAPPを行うと
は私が取得:
Authority=Developer ID Application: MYAPPLEID Authority=Developer ID
Certification Authority Authority=Apple Root CA
Sealed Resources version=2
私はアップルが提供するチェック・署名ツールに対してそれを実行すると、私はそれが正しく署名だという意味YESを取得します。
しかし、ときに私が私が取得spctl -a -tのexec -vvのPATHTOAPPに対してそれを実行します。
rejected (embedded framework contains modified or invalid version)
そして、最後に、ゲートキーパーは、私のアプリは
残念ながらspctlユーティリティにはない拒否私に何が間違っていてどこを見ているのかという手がかりを与えてください。 私はそれを得ていません。最も深くて最も厳しい旗を持っているcodesignはそれが大丈夫だと言って以来です。
詳細情報の入手方法はありますか?
EDIT1:私はspctl --assess --raw --verbose PATHTOAPP走ったと私はこの取得:
<key>assessment:authority</key>
<dict>
<key>assessment:authority:flags</key>
<integer>0</integer>
<key>assessment:authority:source</key>
<string>obsolete resource envelope</string>
<key>assessment:authority:weak</key>
<true/>
</dict>
<key>assessment:cserror</key>
<integer>-67009</integer>
<key>assessment:remote</key>
<true/>
<key>assessment:verdict</key>
<false/>
今、私は信じることかわからないが、それは「埋め込まれたフレームワークが修正が含まれていますまたは無効なバージョン "またはそれは"廃止されたリソースの封筒 "(そしてなぜ)ですか?
私はここでエラーコードを確認してください。https://github.com/CamJN/Security/blob/77b26b3e434caec74403da43bcfb02532a25d7ff/libsecurity_codesigning/lib/CSCommon.h
私は、次を参照してください。
errSecCSWeakResourceRules = -67013, /* resource envelope is obsolete */
errSecCSBadFrameworkVersion = -67009, /* embedded framework contains modified or invalid version */
はEDIT2:それは本当に問題を引き起こしている私のフレームワークフォルダの内容です。署名する前にすべてを削除すると、spctlの検証にパスします。
問題は、私はちょうどそのような(Qtの5.7.0から)QtCoreとして1つの、純粋なフレームワークを許可すれば、私はすぐspctlエラーを取得し、次のとおりです。
rejected (embedded framework contains modified or invalid version)
'macdeployqt'を使用すると、' -codesign'引数を使用してバンドルに署名を付けることができますあなたのために。 – TheDarkKnight