他の Xcode iPhone プロジェクトが正常に署名された場合にのみ、共同設計が成功します。
質問
奇妙な問題があります。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
私はこれらのリンクを得ます:
これはあなたのResourceRules.plistが正しく設定されていないことを示唆しています。そのソリューションは、この問題に多くの人々を助けているようだ。
問題は、私に起こったプロビジョニングプロファイルを、証明書のすべての組み合わせを試してみましたが、きれいにし、再起動し、気システムをイライラすることは、問題が何であるかを教えてくれません。ちょうど私が推測キープしましょう。私のためのソリューションは、上記の論文だった。
"実行可能ファイル名" と一致しなければなりません "製品名"
は、本当にここにこれを見つけるために私を救いました。感謝ます。
あなたのターゲットに複数のInfo.plistファイルを持っていないことを確認してください!