web-dev-qa-db-ja.com

iPhone Codesignオブジェクトのファイル形式が無効または不適切です

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

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

38
Mat

インストールに問題がある場合もあります。私の場合、最新の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
78
Ed McManus

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

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

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

42
Julio Gorgé

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

10
Jeff Blenman

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

解決策は、単に環境設定/ダウンロードに移動し、最新のコマンドラインツールをインストールすることでした。

7
Ville Laurikari

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

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

私は2つのオプションarmv6およびarmv7。これをnormalの単一のエントリに戻し、ビルドしました!

build settings

4
Matt Facer

ビルド設定のすべての種類の同じ問題を試し、GCC4.0を検索し、パスなどを検索しました。ビルド設定で何もすることはありませんでした。私の場合は、問題はターゲットにあります。ターゲティング3.0「SDK」は「ターゲット」Granade3.0と呼ばれています。

「Grenade3zero」と名付けられたブランドの新しいプロジェクトを開始し、元のソースからインポートされた、アプリデリゲートの名前を修正し、プロジェクトの名前などに合わせてビルドし、実行して、デバイスにロードし、最初にチェックしたときにシミュレーターをチェックしました。一部のキャラクターは、ターゲット名に違法であるように見えます!

4
Soft Dot IE

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
3
massimobio

署名プロセスを開始する前にMountain Lionの場合、以下のコマンドを最初のコマンドとして実行してください。

Xcode 4.xの場合:CODESIGN_ALLOCATE = "/ Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"をエクスポートします。

XCode 5の場合:CODESIGN_ALLOCATE = "/ Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"をエクスポートします。

2
Meet

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

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

2
Adrian Skinner

コマンドラインユーティリティなしでMountain LionおよびXcode 5.x.xで実行されているJenkinsで同様の問題に直面しました。コマンドラインユーティリティは現在Xcode 5.1.xにバンドルされているため

以下が働いた

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

1
bhuvan
  1. 「ビルド設定」に移動します
  2. 「ビルドオプション」タブに移動します
  3. [ビルドオプション]タブ内で[デバッグ情報の形式]を見つけ、その値を[DWARF]から[dSYMファイルを使用したDWARF]に変更します。ドロップダウンにある必要があります。

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

1
Matthew Houston

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

0
Avi

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

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

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

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

0
oenpelli

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

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

0
Dimitris

Appleとは異なるルート証明機関から会社が購入したデジタル証明書を使用してOS/X(iOSではない)アプリケーションに署名しようとすると、エラーが発生します。この問題は、Safari経由で証明書をダウンロードするたびに発生します。 Firefoxを使用して証明書をダウンロードすると、エラーを取り除くことができました。

0
Flying Island

Xcode DP(開発者プレビュー)の1つが原因だと思います。デフォルトのXcode.appパスをXcode DPに変更できます。

したがって、Uはxcode-select --print-pathでXcodeパスを確認できます

Uが間違ったディレクトリを取得した場合、Uはxcode-select --switchによってパスを変更できます

このスレッドを確認してください。 xcrun開発者パスの変更

0
TopChul