web-dev-qa-db-ja.com

コード署名エラー:アプリケーションはコード署名の検証に失敗しました

私はiOS開発に非常に慣れていないので、アプリをすべて設定して配布する準備ができていますが、デバイスでのみアプリケーションを実行するたびにこのエラーが発生するようです。iOSシミュレーターは問題なく動作します。ここに完全なエラーがあります:

アプリケーションはコードサインの検証に失敗しました。署名が無効であったか、許可されていない資格が含まれているか、iPhone配布証明書で署名されていませんでした。 (-19011)

ログ全体は次のとおりです。

Validate "/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app"
    cd /Users/masonsocha/Desktop/Apps/MultiBrowser
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    setenv PRODUCT_TYPE com.Apple.product-type.application
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation "/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app"

warning: Application failed codesign verification.  The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011)
Executable=/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app/Multibrowser
codesign_wrapper-0.7.10: using Apple CA for profile evaluation
AssertMacros: trust_result == kSecTrustResultUnspecified,  file: codesign_wrapper.c, line: 594
AssertMacros: profile,  file: codesign_wrapper.c, line: 918
codesign_wrapper-0.7.10: Failed to load provision profile from: /Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app/embedded.mobileprovision
 - (null)

私はすでにプロジェクト名の長さを短くしようとしましたが、役に立ちませんでした。現在、Xcode4.3.2でOSXLionを使用しています。私は一晩中髪を抜いて過ごしました、助けてください!

10
Mason Socha

私はまったく同じ問題を抱えていました。

キーチェーンアクセスに移動

  1. 公開鍵と秘密鍵が正しく設定されていることを確認してください。これは良いリファレンスです https://developer.Apple.com/legacy/library/technotes/tn2250/_index.html

  2. 以前、Outlookが機能するようにキーチェーン証明書の設定を調整していましたが、XCodeコードの署名がかなり台無しになりました。

これらを「ベストアテンプト」設定(スクリーンショットを参照)に設定した後、検証は正常に機能しました

enter image description here

9
Santthosh

Xcodeは、開発プロファイルの1つを選択して、コードに署名する可能性があります。

配布プロファイルを使用していることを確認してください

プロジェクトを押し、[ビルド設定]-> [コード署名]セクションで[コード署名ID]-> [リリース]を展開し、iOSSDKが配布プロファイルを参照していることを確認します。

19
muhamadto

プロファイルの選択をxcodeに任せないことで解決できます。プロジェクト設定で正しいreleaseプロファイルを手動で選択すると、通過します。

3
Veeru

すべての署名内容を確認した後でも、同じ問題が発生しました。エンタイトルメントファイルに古い「デバッグ可能」設定がありました。 get-task-allowedに切り替えると、問題が修正されました。 Apple has 署名の問題をデバッグする方法の説明

2
D Robey

私はこの問題を抱えていましたが、上記の問題のいずれもそれを解決しなかったことがわかりました。最終的に、この件についてAppleのテクニカルノート( https://developer.Apple.com/legacy/library/technotes/tn2250/_index.html )を調べて、解決策を見つけました。

私の場合の特定の問題は、アセットが欠落しているか非表示になっていることでしたが(どちらかはわかりませんでした)、ビルドプロセスの他の場所では問題ファイルとしてフラグが付けられていませんでした。これを発見するために私が取った手順の概要を以下に示します。

  1. ビルドをアーカイブし、アドホック展開用に保存します。
  2. Finderでipaに移動し、名前を.Zipに変更します。
  3. ダブルクリックしてアーカイブを解除し、「ペイロード」フォルダを開きます
  4. ターミナルを開き、次のように入力します。

    codesign --verify -vvvv -R = 'anchor Appleジェネリックおよび証明書1 [field.1.2.840.113635.100.6.2.1]が存在し、(certificate leaf [field.1.2.840.113635.100.6。 1.2]が存在するか、証明書リーフ[field.1.2.840.113635.100.6.1.4]が存在します) '/ Path/to/your/app.app

  5. /Path/to/your/app.appと入力する代わりに、*。appファイルをPayloadフォルダーからターミナルにドラッグアンドドロップし、コマンドの末尾とファイル名の間にスペースがあることを確認して、returnキーを押します。

「封印されたリソースが見つからないか無効です」というエラーが出力に表示され、問題の原因となっているファイルの名前が示されました(ドットで始まっていたため、問題が発生した可能性があります)。 XCodeプロジェクトブラウザでファイル名を検索したところ、ファイルが見つかりましたが、Finderで調べたところ、ディスク上にありませんでした。

修正は、XCodeプロジェクトブラウザからファイルを削除することでしたが、エラーはなくなりました。私は間違いなく、同様の問題を抱えている人には誰にでも言うでしょう-Appleのテクニカルノートを読んでください。彼らは少し悪い言葉ですが、解決策はどこかにある可能性があります。

1
user2123342

私は同じ問題を抱えていて、次の方法で解決しました。

0
Mikael