他の Xcode iPhone プロジェクトが正常に署名された場合にのみ、共同設計が成功します。

StackOverflow https://stackoverflow.com/questions/1890847

  •  19-09-2019
  •  | 
  •  

質問

奇妙な問題があります。Codesign は、私が抱えているこの大きなプロジェクト、プロジェクト A への署名を拒否しましたが、もう一方のプロジェクト B には署名しました。ただし、プロジェクト B に署名したときに、突然プロジェクト A にも署名する可能性があります。他に何も変更していないことは 100% 確信しています。私がとった手順は次のとおりです。

ビルドを試行し、A に署名します - 署名に失敗します
ビルドを試み、B に署名します - 成功します
ビルドを試み、A に署名します - 成功します

転写:

CodeSign build/Debug-iphoneos/CPPlayer.app
cd /Users/nick/CPPlayer
setenv CODESIGN_ALLOCATE /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/usr/bin/codesign -f -s "iPhone Developer: Nick Overdijk (PM7C8QKTYS)" --resource-rules=/Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app/ResourceRules.plist --entitlements /Users/nick/CPPlayer/build/CPPlayer.build/Debug-iphoneos/CPPlayer.build/CPPlayer.xcent /Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app

/Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app: object file format invalid or unsuitable
Command /usr/bin/codesign failed with exit code 1

写真で: こちらをご覧ください(イメージシャックギャラリー)

何か見逃したものはありますか?これがどのようにして起こるのか何か考えはありますか?現在はすべて正常に動作しており、これで問題は解決したように思えますが、何が起こっているのかを理解したいと思っています。

場合によっては、次のように動作することもあります。
A のビルド/署名 - 成功
A のビルド/署名 - 失敗
B のビルド/署名 - 成功します (B は常に成功しているように見えます)
A のビルド/署名 - 成功
A のビルド/署名 - 失敗

したがって、A のビルドが成功するたびに、プロジェクト A に再度署名できるようにするために、B をビルドして署名する必要があります。プロジェクト B は何度でも連続して再構築でき、常に成功します。

それが重要かどうかはわかりませんが、シミュレータ(iPhone OS 3.1.2のデバッグモード)で実行しようとすると、何度もインストールに失敗します。それで:

ビルド/実行 - 失敗
ビルド/実行 - 動作します
ビルド/実行 - 失敗
ビルド/実行 - 動作します

これはプロジェクト A にのみ当てはまります。プロジェクト B は何度でもビルドして実行できますが、インストールが失敗したというメッセージは表示されません。

前もって感謝します、
ニック

役に立ちましたか?

解決

info.plist ファイルが多すぎることが問題である可能性があります。

私も同じ問題を抱えていました(共同設計の成功と失敗が交互に起こりました)。

プロジェクトにソースコードのディレクトリを追加し、そのディレクトリに「既存のファイルを追加」しました。があったことが判明しました info.plist ファイルがディレクトリ内にあるため、プロジェクト内に 2 つのファイルが存在することになります。新しいものを削除してプロジェクトから削除したところ、問題は解決しました。

他のヒント

また、「コマンド /usr/bin/codesign が終了コード 1 で失敗しました」というエラー メッセージにも苦労しました。

これが私がそれを解決した方法です

を右クリックします info.plist そのターゲットを見てください。左側のボックスがチェックされていないことを確認してください。これがデフォルトの状態です。

ファイルのターゲット設定は、info.plist では正常に機能しません。

特定のエラーメッセージを検索する

object file format invalid or unsuitable

私はこれらのリンクを得ます:

http://www.galloway.me.uk/2009/04/json-framework-codesign-object-file-format-invalid-or-unsuitable/する

これはあなたのResourceRules.plistが正しく設定されていないことを示唆しています。そのソリューションは、この問題に多くの人々を助けているようだ。

問題は、私に起こったプロビジョニングプロファイルを、証明書のすべての組み合わせを試してみましたが、きれいにし、再起動し、気システムをイライラすることは、問題が何であるかを教えてくれません。ちょうど私が推測キープしましょう。私のためのソリューションは、上記の論文だった。

"実行可能ファイル名" と一致しなければなりません "製品名"

は、本当にここにこれを見つけるために私を救いました。感謝ます。

あなたのターゲットに複数のInfo.plistファイルを持っていないことを確認してください!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top