78

アプリケーションを iPhone App Store にアップロードしようとしていますが、iTunes Connect から次のエラー メッセージが表示されます。

アップロードしたバイナリは無効でした。署名が無効であったか、Apple 提出証明書で署名されていませんでした。


注: 元の質問の詳細は削除されました。このページは、特定のエラー メッセージの考えられる原因に関するすべての情報のリポジトリに変わったためです。

iPhone アプリケーションを App Store に送信するための一般的な情報については、「iPhone アプリケーションを AppStore にアップロードする手順」を参照してください。

4

34 に答える 34

35

私の経験では、Xcode がどの署名証明書を使用するかについて時折混乱することがあります。この問題を回避するために、コード署名設定を変更した後 (およびクリーン ビルドを実行した後)、Xcode を終了して再起動する習慣がありました。

于 2008-09-30T22:20:05.153 に答える
22

コマンドラインからのzipにも問題があったことを述べたいと思います。問題は、デフォルトでシンボリックリンクを処理する方法にあります。使用:

zip -y -r myapp.zip myapp.app

その問題を解決しました。

于 2009-10-13T01:40:49.133 に答える
11

私は同じ問題を抱えていて、このように解決しました:

プロパティ証明書は私の開発マシンにインストールされ、mobileprovision.embedded は配布アーカイブに含まれていました。1時間ほどグーグルと掘り下げた後、ソースがエラーであることがわかりました。Xcode 内で、リリース構成をコピーし、新しいディストリビューション構成を作成してから、署名 ID をディストリビューション証明書に変更しました。ただし、GUI で更新しても、プロジェクト ファイルが正しく更新されませんでした。

同じエラーが発生した場合は、[ProjectName].xcodeproj ディレクトリで project.pbxproj ファイルを探し、お気に入りのエディターで開きます。[配布] セクションを探します。私の壊れたものは次のように見えました:

C384C90C0F9939FA00E76E41 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CODE_SIGN_ENTITLEMENTS = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]” = “iPhone Distribution: Edward McCreary”;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
“PROVISIONING_PROFILE[sdk=iphoneos*]” = “F00D3778-32B2-4550-9FCE-1A4090344400″;
SDKROOT = iphoneos2.2.1;
};
name = Distribution;
};
C384C90D0F9939FA00E76E41 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CODE_SIGN_IDENTITY = “iPhone Developer: Edward McCreary”;
“CODE_SIGN_IDENTITY[sdk=iphoneos*]” = “iPhone Developer: Edward McCreary”;
COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = GenPass_Prefix.pch;
INFOPLIST_FILE = Info.plist;
PRODUCT_NAME = GenPass;
PROVISIONING_PROFILE = “DB12BCA7-FE72-42CA-9C2B-612F76619788″;
“PROVISIONING_PROFILE[sdk=iphoneos*]” = “DB12BCA7-FE72-42CA-9C2B-612F76619788″;
};
name = Distribution;
};

2 番目のセクションで、署名 ID とプロビジョニング プロファイルが正しくないことがわかります。最初のセクションに合わせて編集し、再構築すれば準備完了です。最終的なものは次のようになりました。

C384C90C0F9939FA00E76E41 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CODE_SIGN_ENTITLEMENTS = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]” = “iPhone Distribution: Edward McCreary”;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
“PROVISIONING_PROFILE[sdk=iphoneos*]” = “F00D3778-32B2-4550-9FCE-1A4090344400″;
SDKROOT = iphoneos2.2.1;
};
name = Distribution;
};
C384C90D0F9939FA00E76E41 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CODE_SIGN_IDENTITY = “iPhone Distribution: Edward McCreary”;
“CODE_SIGN_IDENTITY[sdk=iphoneos*]” = “iPhone Distribution: Edward McCreary”;
COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = GenPass_Prefix.pch;
INFOPLIST_FILE = Info.plist;
PRODUCT_NAME = GenPass;
PROVISIONING_PROFILE = “F00D3778-32B2-4550-9FCE-1A4090344400″;
“PROVISIONING_PROFILE[sdk=iphoneos*]” = “F00D3778-32B2-4550-9FCE-1A4090344400″;
};
name = Distribution;
};

罪のない人を守るために変更されたガイド

于 2009-06-05T15:28:43.587 に答える
7

私は同じ問題を抱えていて、いくつかのことを試した後、コード署名資格から .plist 資格を削除し (空白のままにしました)、正常にビルドされ、最終的にアップロードされました。

頑張ってください:-D

于 2010-03-22T22:00:33.687 に答える
7

同じ問題、別の解決策。

私の場合、zip -r myapp.zip myapp.app zip コマンドを使用してファイルを圧縮していたことがわかりました。zip コマンドがバンドルを台無しにしました。ファインダーから圧縮するとうまくいきました。

于 2009-10-09T01:48:28.347 に答える
6

別のデータ ポイント: しばらくの間、私のアプリは正常に動作しました。アプリ内購入のサポートを追加しましたが、突然「無効なバイナリ/無効な署名」の問題で失敗します。よく見ると、entitlements plist ファイルの application-identifier の値がオフになっていることがわかりました。

これはおそらく、プロビジョニング プロファイルをワイルドカード プロファイルからアプリ固有のプロファイル (アプリ内購入に必要) に置き換えたことに関係しています。古いプロファイルで修飾された間違ったアプリ ID。info.plist のアプリ ID と一致しませんでしたが、どうやら iTunes がそれを許したようです。

要約すると、次のようになります。

info.plist: com.mydomain.foo
dist.plist: com.mydomain.bar
Profile: com.mydomain.*

大丈夫ですが、

info.plist: com.mydomain.foo
dist.plist: com.mydomain.bar
Profile: com.mydomain.foo

「無効なバイナリ」が発生します。

于 2011-03-08T01:16:10.787 に答える
5

解決策については、次のリンクを参照してください。

http://greghaygood.com/2010/09/04/invalid-binary-message-from-itunesconnect

簡単な答えは、「最終的に info.plist を再確認したところ、何かを発見しました。新しいガイドラインに従って CFBundleIconFiles を追加しましたが、配列リストに空のエントリがありました。それを削除して再送信したところ、最終的には受け入れた!」

于 2010-09-16T12:12:06.243 に答える
5

ビルド時にプロビジョニングがビルドに追加されていないことに気付いたとき、私も同じ問題を抱えていました。

私にとっての修正は、通常シミュレーターを使用する場所としてビルドをiPhoneデバイスに設定することでしたが、プロビジョニングプロファイルは含まれません...

これは初心者の間違いかもしれません。通常、デバイスにビルドすることはできませんが、配布用にビルドする場合はビルドできます。

于 2010-02-26T09:58:59.737 に答える
4

ここに私が遭遇した問題があります: アップロードする前にバイナリを Subversion に追加しました。バイナリを比較/圧縮すると、非表示の .svn ディレクトリが含まれ、コード署名が台無しになりました。

于 2009-07-22T05:36:30.873 に答える
4

上記を含むさまざまな投稿を読んだ後、さまざまなことを試しました。最終的に私にとってうまくいったのは、完全にやり直すことでした!アプリに関連付けられているすべての証明書とプロビジョニング プロファイルを削除しました。

新しい開発証明書と新しい配布証明書を作り直しました。中間証明書を再度ダウンロードしました。次に、開発プロファイルと配布プロファイルの両方を再作成しました。

3 つの証明書 (ディストリビューションに今回は秘密鍵と公開鍵の両方があることに気付きました) と 2 つのプロビジョニング プロファイル (私のディストリビューション プロファイルには有効な証明書がないというフラグが立てられませんでした!) をインストールすると、すべてが機能しました。

すべてを取り消して最初からやり直すことにした後、新しいものを作成して再インストールするのに約 5 分しかかかりませんでした。

于 2009-10-26T17:12:36.553 に答える
4

同様の問題がありましたが、モノタッチでした。リリース プロファイルが開発者証明書を使用するように設定されていることがわかりました。次のようになります。 ここに画像の説明を入力

于 2011-02-04T12:25:29.323 に答える
4

さて、何度か手順を繰り返した後、ようやくアプリのアップロードに成功しました。

何が修正されたのか正確にはわかりませんが、試行が成功する前に、Xcode と Firefox を閉じて再起動しました。それらのアプリの 1 つに悪いジュジュがあったと思います。

于 2008-09-07T01:13:50.480 に答える
3

この問題には多くの原因があるようです。これが私の解決策です:

これは、複数の開発チーム (自分のアプリや会社など) に所属するすべての人に適用されます。

ある資格情報セットでビルドをビルドし、別の資格情報で再署名する場合 (アドホック/アプリストア配布用など)、ビルドが最初にビルドされ、同じ iOS 開発チームに属する資格情報で署名されたことを確認する必要があります。再署名するディストリビューション資格情報は に属しています。

そのため、「Indy Dev Inc」の資格情報でビルドしないで、「Company Inc」の資格情報でデプロイしてみてください。「Company Inc」開発者資格情報と配布資格情報の両方を設定して、それらを使用していることを確認してください。

これに関する詳細情報をブログに投稿しました: http://omegadelta.net/2011/06/09/fiendish-ios-code-signing-invalid-binary-issue/

于 2011-06-09T09:20:01.170 に答える
2

私も同じ問題を抱えていました。私はこの問題についてタオルを投げる準備ができていましたが、Murky を使用して自分のコードをチェックインしたときにそれを理解しました。チェックインする前に、常に変更されたファイルの差分をざっと調べます。今回そうすると、project.pbxproj ファイルが変更されていることに気付きました....そして、配布セクションで「PROVISIONING_PROFILE[sdk=iphoneos*]」のエントリ」は空白でした。

Xcode を終了して再起動してもうまくいきませんでした。代わりに、プロジェクトとターゲットの両方の設定に入り、コード署名を変更して、自動選択機能に依存するのではなく、ディストリビューション プロファイルを直接選択するようにしました。これを行うと、自動選択機能が手動で選択したのとまったく同じプロファイルを選択したと思われる場合でも、project.pbxproj ファイルに正しい値が入力されました。

私はビールが必要...

于 2010-08-22T22:53:53.357 に答える
2

ここにリストされている他のすべての修正を試した後、Apple に TSI を記録しました。テクニカル ノート TN2250のすべての手順に従いましたが、封印されたリソースが見つからないか無効であったために問題が発生しました。私たちの場合、それはでした._.DS_Store

「… 」これは Apple Double ファイルと呼ばれ、HFS+ の「リソース フォーク」(コード署名に使用される) を適切にサポートしていないファイル システムに Xcode プロジェクト フォルダーを *解凍* してコピーした結果です。これらの余分な「. .」ファイルが結果としてコード署名検証の失敗を引き起こします。

問題のある Apple Double ファイルを Xcode プロジェクト フォルダーから消去するには、Xcode プロジェクトのフォルダーで dot_clean コマンドを実行し、クリーン ビルドを実行してから、再アーカイブして送信を再試行します。

dot_clean /the/path/to/xcode/project

注: プロジェクト フォルダーをターミナルにドラッグするだけで、パスが自動的に入力されます。

コマンドを実行してもメッセージは表示されませんが、次回のビルド時にプロジェクト ビルドでファイルに関する警告が表示される場合があります。これは無視してかまいません。アプリは正常に検証され、送信されます。

于 2012-01-20T01:01:08.277 に答える
1

私にとっての解決策は、 Apple DeveloperProvisioningPortalで配布証明書を作成することでした。

于 2011-02-10T14:20:25.337 に答える
1

価値があるので、この問題を修正したものを追加したいと思います。持っていた ?エラーの原因となっていたアプリのタイトルに (疑問符) が含まれています。

于 2011-06-13T04:49:28.613 に答える
1

アプリがリモート プッシュ通知を使用していない場合、無効なバイナリを受け取りましたが、プッシュを登録するためのコードと、リモート通知を登録/受信するためのコールバック デリゲートは、コードが使用されなくても、コメントを外したままにしました。

これは最近のことです。先週の最後の提出は問題ありませんでした。今週、無効なバイナリが返されます。幸いなことに、エラーを説明する電子メールがあります。

于 2011-04-19T14:17:31.303 に答える
1

同様の問題がありましたが、entitlements.plist は使用していません。しかし、何十回もアップロードに失敗した後、info.plist を確認したところ、あることがわかりました。CFBundleIconFiles 配列に空のエントリがありました。それを削除して再提出したところ、ようやく受理されました!

真剣に、Apple がこの種の検証エラーを公開するのはどれほど難しいでしょうか?

編集: CFBundleIconFiles が別の名前を使用しているため、どこにあるかはすぐにはわかりません。プロジェクト情報ビューで、Ctl クリックして [生のキー/値を表示] を選択すると、CFBundleWhatever への参照が表示されます。この編集者の場合、存在しない icon=72-@2x.png ファイルを使用しようとしていました。

于 2010-09-04T22:22:29.307 に答える
1

提案された他のすべての解決策を試しましたが、何も役に立ちませんでした。

結局、新しい Xcode プロジェクトを作成し、すべてのコードとリソースをそこにコピーしました。これで問題は解決し、私のアプリはレビュー キューに入れられました。

また、デバッグ/検証用のコード署名に関する Apple のテクニカル ノートもお勧めします。

于 2013-02-13T15:58:00.943 に答える
1

myProject.xcodeproj ファイル (右クリックしてパッケージを開く) をクリーンアップすることでこれを解決しました。パッケージには、共同開発者からのファイルが含まれていました。これらを削除した後、問題は解決されました。

于 2011-01-05T23:24:53.783 に答える
0

私はこの面倒を(再び)経験しましたが、今回は私の配布プロファイルのステータスが「無効」であることがわかりました。他のすべてが正しいと思われる場合は、ポータルのステータスを再確認し、アクティブ状態でないものを更新/再ダウンロードしてください。

于 2010-09-23T18:57:59.963 に答える
0

Appleに電子メールを送り、ログを確認するように依頼する可能性を指摘したいと思います。最初にたくさんのことを試した後、私はまさにそれをしました。ほぼ4週間後に彼らに思い出させる必要がありました、しかし最終的に彼らは答えて、問題の正確な場所を指摘しました。

私の場合の問題は、以前に他のアプリアイコンを試したことがあり、古い画像への参照が「CFBundleIcons」に残っていることでした。ドラッグアンドドロップ機能を使用してアイコンを設定しましたが、新しい参照が追加される前に古いコンテンツが完全にクリアされていないことに気づきませんでした。

誤った参照を表示するには、矢印を展開して、plistファイル内のすべてのサブ要素を表示する必要がありました。1つのヒントは、ファイルを右クリックして、生のコンテンツを表示するためのオプションを選択することです。そうすれば、何も拡張する必要がなくなります。

于 2012-10-18T05:49:58.563 に答える
0

バイナリが無効と見なされるインスタンスがもう 1 つあります。2015 年 2 月 1 日以降、新しい iOS アプリは 64 ビット アーキテクチャをサポートする必要があります。アップルからのメールは次のとおりです。

開発者各位

「Home - Recruitment」の最近の配信で 1 つまたは複数の問題が見つかりました。配送を処理するには、次の問題を修正する必要があります。

64 ビット サポートの欠落 - 2015 年 2 月 1 日以降、App Store に提出される新しい iOS アプリは、64 ビット サポートを含み、iOS 8 SDK でビルドする必要があります。2015 年 6 月 1 日以降、アプリの更新も同じ要件に従う必要があります。プロジェクトで 64 ビットを有効にするには、デフォルトの Xcode ビルド設定の「標準アーキテクチャ」を使用して、32 ビット コードと 64 ビット コードの両方で単一のバイナリをビルドすることをお勧めします。

これらの問題が修正されたら、修正されたバイナリを再配信できます。

よろしく、

App Store チーム

于 2015-03-16T05:08:12.523 に答える
0

私の解決策には、新しいアプリ ID の作成が含まれていました。なぜそれが修正されたのか正確にはわかりませんが、バンドル識別子が一致していなかったのではないかと思います.新しいアプリIDを作成することで、アプリとiTunesが同じことを期待していることを確認する必要がありました.

于 2011-10-07T15:40:59.680 に答える
0

2013 年 5 月 1 日の時点で、Apple は iOS ヒューマン インターフェイス ガイドラインを更新したため、新しいアプリまたはアップデートをアップロードする場合は、iPhone 5 (4 インチ) に対応している必要があります。画面。

りんご より:

開発者各位

「-------------」の最近の配信で 1 つ以上の問題が見つかりました。配送を処理するには、次の問題を修正する必要があります。

iPhone 5 の最適化要件 - バイナリは iPhone 5 用に最適化されていません。5 月 1 日以降、提出されるすべての新しい iPhone アプリとアプリの更新は、iPhone 5 の 4 インチ ディスプレイをサポートする必要があります。すべてのアプリには、適切なサイズの起動イメージが含まれている必要があります。iOS ヒューマン インターフェイス ガイドラインを確認して、iPhone 5 のサポートの詳細を確認してください。

これらの問題が修正されたら、[バージョンの詳細] ページに移動し、[バイナリをアップロードする準備ができました] をクリックします。アプリのステータスが「アップロード待ち」になるまで、送信プロセスを続行します。その後、修正されたバイナリを配信できます。

よろしく、

App Store チーム

于 2013-05-17T16:35:34.993 に答える
0

uuid は許可されていません。[[UIDevice currentDevice] uniqueIdentifier]; すべて削除して修正しました。

于 2013-05-14T07:21:09.603 に答える
0

今日この問題が発生しましたが、ここでの回答は役に立ちませんでした。私はついに問題を見つけました。

プルダウン メニューを使用していることを確認してください: Project>Edit Active Target " ProjectName " to change Code Signing to Distribution - グループ & ファイル ペインでプロジェクトを選択し、ターゲット情報ではなくプロジェクト情報を表示する情報ボタンを使用していました- 非常に紛らわしい!プロジェクトでコード署名をオフにしてビルドし、まだコード署名したいときにのみ実現しました!

これが、Eddie の投稿で project.pbxproj レベルで変更しなければならなかった理由だと思います。

また、最初のステップの元の投稿: 1. Xcode で、Device|Release ターゲットを選択します。(このコピーされたリリースを想定し、Provisioning Portal の Apple の指示に従って Distribution に名前を変更しました)

于 2010-06-02T11:53:34.613 に答える
0

私にとっては、非インターレース オプションを使用して PNG 画像を再保存することで問題が解決しました。以前のバージョンではインターレース png が許可されていましたが、この画像が無効なバイナリを引き起こす可能性があることに注意してください。

Apple メッセージ: 破損したアイコン ファイル - アイコン ファイル iconGQ@2x.png が破損しているようです。アイコンをインターレース PNG ファイルにすることはできません。

ターミナルでコマンド「file」を使用して PNG がインターレースされているかどうかを確認できます: Eva-Madrazos-MacBook-Pro-2:GQ 7 integracion ads Eva$ file *.png 8 ビット/カラー RGB、ノンインターレース

頑張れ、エヴァ

于 2012-08-28T11:54:59.520 に答える
0

私の場合は、プロジェクト バイナリに含まれている TestFlight SDK でした。

別の古いプロジェクト ソース (testflight を含む) から新しいプロジェクトを作成しましたが、このプロジェクトは新しい ID を持つ新しいプロジェクトであるため、ここでは TestFlight SDK を使用できなくなりました。

私はそれを削除し、アーカイブしてから再度アップロードしました。今回は「無効なバイナリ」エラーはありません。

于 2015-08-03T09:00:12.800 に答える
0

アプリのアップロード後に無効なバイナリを受け取りましたが、失敗した理由についてのフォローアップの電子メールはありません。一度にいくつかのことを試してみましたが、次のどれが実際に修正されたのかわかりません。

  1. Macbook Proを再起動しました
  2. プロジェクトのソース コードを NTFS ドライブから HFS+ ドライブに移動し、再コンパイルしました。
于 2011-01-28T05:18:11.133 に答える
0

私の2セント:

Application Loader の最新バージョンをダウンロードします。更新したばかりで、別のエラー メッセージが表示されます。

于 2010-08-09T16:50:41.437 に答える
0

別の解決策:

私にとっては、「コード署名」の下に「リリース」証明書を設定するだけで修正されました。それらは最初は「署名をコード化しない」に設定されていました。

于 2012-01-23T00:01:53.580 に答える
0

これと 4.3 GM SDK に問題がありました。私たちのアプリの 1 つが、アップロードの受信を通過できませんでした。プロビジョニング プロファイルの問題であることが判明しました。アプリ ストアのプロファイルを再生成したところ、問題なく動作しました。

于 2011-03-07T19:23:37.843 に答える