4

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

ビルドを試行して A に署名 - 署名に失敗
ビルドを試行して B に署名 - 成功
ビルドを試行して A に署名 - 成功

転写:

CodeSign ビルド/Debug-iphoneos/CPPlayer.app
cd /Users/nick/CPPlayer
setenv CODESIGN_ALLOCATE /開発者/プラットフォーム/iPhoneOS.platform/開発者/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 開発者: 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: オブジェクト ファイル形式が無効または不適切です
コマンド /usr/bin/codesign が終了コード 1 で失敗しました

写真:ここを参照 (imageshack ギャラリー)

見逃したものはありますか?これがどのように起こるかについてのアイデアはありますか?これで問題は解決したようですが、何が起こっているのかを知りたいです。


ビルド/署名 A - 成功する
ビルド/署名 A - 失敗
する ビルド/署名 B - 成功する (B は常に成功するように見える)ビルド
/署名 A - 成功する
ビルド/署名 A - 失敗する

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

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

ビルド/実行 - 失敗
ビルド/実行 - 動作
ビルド/実行 - 失敗
ビルド/実行 - 動作

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

前もってありがとう、
ニック

4

5 に答える 5

10

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

私は同じ問題を抱えていました(コードサインの成功と失敗を交互に)。

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

于 2010-02-15T00:18:09.737 に答える
2

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

object file format invalid or unsuitable

これらのリンクを取得しました:

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

ResourceRules.plist が正しく設定されていないことを示唆しています。その解決策は、この問題で多くの人々を助けたようです.

于 2009-12-12T19:07:45.410 に答える
2

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

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

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

ファイルをターゲットにしても、info.plist ではうまくいきません。

于 2011-02-15T01:05:55.490 に答える
1

問題は私に起こり、証明書、プロビジョニングプロファイル、クリーンアップと再起動のすべての組み合わせを試してみましたが、いまいましいシステムが問題が何であるかを教えてくれません. 推測させてください。私にとっての解決策は、上記の参照記事でした。

「実行ファイル名」は「製品名」と一致する必要があります

ここでこれを見つけることができて本当に助かりました。ありがとう。

于 2011-02-23T04:31:30.773 に答える
0

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

于 2010-03-08T14:07:28.470 に答える