有効だが不一致の証明書
このエラーは、アプリケーションをMacAppStoreに送信するときに発生する可能性があります。このエラーは、1つ以上のコード署名が有効であるが、MacAppStoreの適切な証明書によって署名されていないために発生します。
Invalid Signature - The nested app bundle FRAMEWORK at path APPNAME.app/Contents/Frameworks/FRAMEWORK.framework has following signing error(s): valid on disk /Volumes/data01/app_data/dstr/mz_4939925606610311185dir/mz_6704668226144376567dir/eu.miln.beyond.mas.pkg/Payload/APPNAME.app/Contents/Frameworks/FRAMEWORK.framework/Versions/A: satisfies its Designated Requirement test-requirement: code failed to satisfy specified code requirement(s) . Refer to the Code Signing and Application Sandboxing Guide at http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.
解決策は、MacAppStoreアプリケーション証明書を使用するようにアプリケーションバンドルを再設計することです。
コデザイン
を使用しcodesign -d -vvvv <app.path>て、署名証明書が正しいことを確認します。
混合証明書またはMac以外のAppStore証明書を使用する複雑な署名付きアプリケーションがある場合は、codesignフラグを使用してdeepバンドル全体を再帰的に再署名できます。
codesign --force -o library -s '3rd Party Mac Developer Application: Your Organisation (000AAA000A)' --keychain '/absolute/path/to/mac-app-store.keychain' --preserve-metadata=identifier,entitlements,flags --deep '/absolute/path/to/APPLICATION.app'
--preserve-metadata=identifier,entitlements,flagsオプションに注意してください。これらは、関連するエンタイトルメントとバンドル識別子を上書きまたは変更しないようにするために重要です。
理想的には、deepフラグは使用しないでくださいが、問題を修正するのに役立ちます。