38

xcode で誤ってターゲットを削除してしまいました。

だから私はまったく同じ名前で新しいものを作成しました。ターゲット設定で、適切なコード署名IDを再度選択しました

しかし、今はデバイス用にコンパイルできません。ビルドしたいとすぐに、次のようになります。

CodeSign build/Release-iphoneos/myApp.app
....somestuff....
/Volumes/XCodeProj/myApp/build/Release-iphoneos/myApp.app: object file format invalid or unsuitable
Connad /usr/bin/codesign failed with exit code 1

私はすでにターゲットをきれいにしようとしました。この問題の原因と解決方法を教えてください。

4

17 に答える 17

78

インストールに問題がある可能性もあります。私の場合、最新の codesign_allocate へのシンボリックリンクは問題を解決しました:

sudo mv /usr/bin/codesign_allocate /usr/bin/codesign_allocate_old
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin
于 2011-07-21T00:01:59.577 に答える
52

Mountain Lion では、 codesign の前にこれを実行してみることができます:

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"
于 2012-07-30T14:48:30.950 に答える
42

ターゲットの info.plist の「実行可能ファイル名」(CFBundleExecutable) エントリが、ターゲット設定で指定された「製品名」と一致していることを確認してください。

于 2011-05-11T03:08:53.447 に答える
10

端末からコード署名しようとしたときに、この問題が発生しました。Xcode 3.0 をアンインストールした後、Xcode 4.4 をインストールしました。Xcode 設定のダウンロードを見て、コマンド ライン ツールがインストールされていないことに気付きました。これをインストールした後、私の問題は修正されました。ここでの解決策を考えると、問題はより複雑だと思いますが、これは、将来のユーザーが深く掘り下げ始める前に確認したいものかもしれません.

于 2012-07-30T17:40:21.087 に答える
7

私の場合、これは XCode 4.5 にアップグレードした後に発生していました。

解決策は、Preferences / Downloads に移動し、最新のコマンド ライン ツールをインストールするだけでした。

于 2012-10-05T09:24:16.227 に答える
4

私は同じ問題を抱えていて、あらゆる種類のビルド設定GCC4.0、検索パスなどを試しました。私の場合、ビルド設定とは何の関係もないことが判明しました。問題は、ターゲット名にドットを入れたことです。 v3.0 SDK をターゲットにしているので、ターゲットを Granade3.0 と呼びました。

「Grenade3zero」という名前の新しいプロジェクトを開始し、オリジナルからソースをインポートし、appdelegate 名をプロジェクト名などに一致するように修正しました。ビルドして実行し、最初にデバイスにロードし、チェックしたときにシミュレーターも問題ありませんでした。 . 一部の文字がターゲット名に使用できないようです!

于 2011-01-30T18:30:46.743 に答える
4

この問題にも自分の解決策を追加したいと思っていました...私はこの問題で数週間苦労してきました...上記のすべての解決策を確認し、さらに変更しました。

私の解決策はターゲットにありましたbuild settings

私は2つのオプションを入れましarmv6armv7. これを の 1 つのエントリに戻すnormalと、ビルドされました!

ビルド設定

于 2011-11-29T10:18:25.723 に答える
3

emcmanusの回答は機能しましたが、Xcode 4.3がApplicationsフォルダーにインストールされ、古い/ Developerフォルダーを削除したため、パスをcodesign_allocateに変更する必要がありました。

sudo mv /usr/bin/codesign_allocate /usr/bin/codesign_allocate_old
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin
于 2012-06-28T16:59:58.060 に答える
2

上記のすべてを試してみましたが、役に立ちませんでした。私にとってうまくいったのは、ビルドスクリプトに次を追加することでした:

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"

私の問題を調査しているときに、この投稿に出くわしました: http://mobiledevelopertips.com/mac-osx/code-signing-error-object-file-format-unrecognized-invalid-or-unsuitable.html

于 2012-12-21T16:56:33.233 に答える
1
  1. 「ビルド設定」に移動します
  2. 「ビルドオプション」タブに移動します
  3. ビルドオプションタブ内で「デバッグ情報フォ​​ーマット」を見つけ、その値を「DWARF」から「dSYMファイルを使用したDWARF」に変更します。ドロップダウンにあるはずです。

それはあなたのために働くはずです。

于 2016-08-29T06:20:18.747 に答える
1

コマンド ライン ユーティリティを使用せずに、Mountain Lion および Xcode 5.xx で実行されている Jenkins で同様の問題に直面しました。コマンド ライン ユーティリティが Xcode 5.1.x にバンドルされるようになったため

以下は働いた

sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate /usr/bin/

于 2014-05-27T08:14:56.417 に答える
0

私も同じ問題を抱えていました。原因は、アプリターゲットが静的ライブラリにリンクされていて、独自のソースファイルを提供していなかったためです(すべてのソースがライブラリにあり、アプリターゲットはリソースのみを提供していました)。ソースの1つをライブラリからアプリターゲットに移動すると、コードサインエラーが修正されました。

于 2012-02-06T14:23:11.600 に答える
0

OS X バイナリか iOS かによって異なる場合があるため、正しいバージョンの codesign_allocate を見つけるには xcrun を使用することをお勧めします。

これにより、Apple はスクリプトを壊さずにさまざまなツールの場所を変更することもできます。

次のようなものを使用します。

export CODESIGN_ALLOCATE=$(xcrun --sdk iphoneos --find codesign_allocate)

于 2014-07-15T07:27:06.033 に答える
0

アプリのターゲット ビルド設定の製品名に特殊文字が含まれている場合は、それらを削除します。

たとえば、「Mats アプリ」の名前を「Mats アプリ」に変更すると、ビルドされます。もちろん、表示名には特殊文字を含めることができます。

于 2011-12-05T17:11:59.873 に答える