web-dev-qa-db-ja.com

Xcode 5:コード署名資格エラー

IOS 7.をサポートする新しいアプリケーションを作成しました。新しいXCode 5 GMを取得し、新しいプロビジョニングプロファイルと配布証明書を使用してアプリに署名しようとしましたが、配布に問題があります。次のエラーが常に表示されます。

「無効なコード署名資格。アプリバンドル署名の資格は、プロビジョニングプロファイルに含まれる資格と一致しません。プロビジョニングプロファイルによると、バンドルには許可されていないキー値が含まれています: '[XXXX.com.sample .company] 'をキー' keychain-access-groups 'に使用します。

また、application-identifierと呼ばれるキー値の同じエラー。

エラーのスクリーンショット:

enter image description here

148
Benjamin de Bos

解決策は、Xcode 5の新しいオプションであり、プロビジョニングプロファイルと呼ばれます。プロジェクトターゲットのプロビジョニングプロファイルを正しいプロファイルに設定するだけで機能します。

enter image description here

208
Benjamin de Bos

あなたが私のような人で、EVERYTHINGを試して、プロジェクトを10回以上アーカイブし、キーボードで頭を叩いたのに、まだこのエラーが発生したと思うなら。あなた自身に感謝し、単純にXcodeを再起動してください。いつかアップル...私はあなたが嫌い​​です。

53
VGruenhagen

上記の多くの手順を実行しましたが、最終的にはXcodeでプロファイルを更新することができました。私のアプリの配布プロファイルが既にリストに表示されていたため、なぜそれが必要であったのかはわかりません。手順は次のとおりです。

  1. Xcodeの設定
  2. アカウントタブ
  3. Apple IDを選択します
  4. Apple ID詳細パネルの[詳細の表示]ボタンをクリックします
  5. 左下隅の更新ボタンを押します
25
Joe Regan

私の場合、Xcodeでdeveloper.Apple.comのアプリケーションサービスと同じ機能を有効にしました。それは私のために働く

enter image description here

enter image description here

12
novecapa

私の場合(申し訳ありませんが)-> General-> Identityで "Team"を "None"に切り替えました

別のケースでは、このIDを「なし」からIDとプロファイルを管理する開発者アカウントに切り替える必要がありました。

Xcodeがコード署名に大きな混乱を起こすことがあるようです。または、私たちの単なる人間は、もちろんそれが何をしているのかを理解するのに十分に賢くないだけです。あきらめないでください、私たちは皆、時々いくつかのコード署名の拷問を経験しています!

6
RickJansen

私の場合、リリース用に正しいプロビジョンプロファイルを設定してから、Xcodeを再起動する必要がありました。再起動する前は、同じプロビジョニングプロファイルがあり、機能しませんでした。そのため、再起動すると奇跡が起こることがあります。たぶんこれは誰かを助けます。

5
Beny Boariu

1.プロジェクトフォルダーに移動し、*。entitlementsファイルを削除します。 2.次に、Xcodeプロジェクトのターゲットに移動します->ビルド設定->コード署名資格-値を削除します3.クリーン4.実行

3
Vlad 25 WLD

ああ、この素晴らしいエラー。このエラーが表示されるたびに、次のことを確認します。

1。常にXCodeがプロビジョニングプロファイル情報にアクセスできるようにする-XCodeの起動時にコンピューターのプライベートファイルにアクセスするように要求し続け、オプションでプロビジョニングプロファイル情報を取得できる場合今ではなく、一度だけアクセスを常に許可する-常にアクセスを許可に設定する

2。プロジェクトを回避する古い資格ファイルがある場合、それらを削除し、それらの兆候を取り除きます-プロジェクトに.entitlementsファイルがある場合は、それを削除します(または少なくとも参照を削除しますそれを完全に削除する準備ができていない場合)、ビルド設定の「コード署名」セクションの下の「コード署名資格」行が空であることを確認してください

。アプリケーションサービスをオンラインで確認し、アプリのXCodeのサービスと照合します-Appleメンバーセンターに移動して、アプリのアプリIDを確認し、をクリックしますアプリで「アプリケーションサービス」とチェックした内容を確認し、XCodeに移動して「機能」セクションを確認し、両方に同じAppleサービスのリストがあることを確認します

4。検証する前にアプリに有効なプロビジョニングプロファイルを割り当てていることを確認してください-Appleメンバーセンターでアプリのプロビジョニングプロファイルを再確認し、有効期限が切れていないことを確認します、正しいバンドルIDとディストリビューションを持つ正しいアプリIDを持っています。新しいプロビジョニングプロファイルをダウンロードしてクリックし、XCodeがあることを確認するか、XCode> Preferences> Accountsに進み、アカウントをクリックして「詳細を表示」をクリックし、下隅のボタンをクリックしてすべてのプロファイルをXCodeに同期します。 [コード署名]セクションで選択できるプロファイルを用意する必要があります。正しいプロビジョニングプロファイルを取得したら、「Code Signing Identity」行をそのプロビジョニングプロファイルの正しいオプションに設定できます。

注-配布証明書を作成する場合、すべての「コード署名ID」行を、デバッグ行を含む配布に使用するIDに設定すると役立ちます

5。すべてが失敗した場合-プロジェクトをクリーンアップし、XCodeと一部のAppleマジックを再起動すると、次回プロジェクトを開いて検証しようとすると正常に機能する場合があります

3
ColossalChris

誰かがGameCenterを使用している場合は、ターゲットのこのセクションを確認してください。私はいくつかの古いプロジェクトで働いていて、2つのエラーがありました(しかし、すべてがうまくいきました)。無効にしてから再度有効にすると、この問題は解決しました。enter image description here

ほとんどの場合、このアクションによりGame Centerの資格がApp IDに追加され、それ自体が処理されます。

3
beryllium

私の問題は、Preferences-> AccountsからApple IDを削除し、再度追加することで解決しました。その後、すべてのプロビジョニングプロファイルファイルが[詳細の表示]ユーティリティパネルに表示されました。プロジェクトの実際のディストリビューションプロビジョニングプロファイルではなく、「Mac Team Provisioning Profile:*」を一般的な選択だと誤って選択していました。プロビジョニングファイルはプロジェクトに固有である必要があります。ああ、ところで、プロビジョニングプロファイルに正しい資格(マップなど)があることを確認してください。エンタイトルメントなしでOSX Mapsを使用してアプリをリリースし、Appleが承認しましたが、製品版にはマップが表示されませんでした!

2
Brainware

古い3.1.5プロジェクトを構築している場合、Xcode 5にはいくつかのバグがあり、残念ながらBenjaminの答えは不可能です。選択できるプロビジョニングプロファイルがないためです。 Xcodeプロジェクトファイルの苦痛に満ちた読書の多くの遅い時間の後、私は私のために働いたこのソリューションを思いついた:

  • Xcode 5の[ユーティリティ]ペイン(右側)のプロジェクトドキュメントの下で、Xcode 3.1互換からXcode 3.2互換に変更します。
  • 組織名を入力してください。
  • プロジェクトを閉じます。
  • プロジェクトファイルを開きます。 open -a TextEdit path/to/name.xcodeproj/project.pbxproj
    • 2つのDistribution句(isa=XCBuildConfiguration)を削除します。
    • BuildConfigurationにある2つの行を削除します(1つはPBXNativeTargetに、1つはPBXProjectにあるXCConfigurationLists

これで、App Storeを再度開いてアーカイブし、送信する準備ができました-voilà!再び機能します!

どのように動作するか

Appleが線に沿ったどこかで、個別のディストリビューション設定の必要性をなくすことを決めたので、これがうまくいくと思います。これは良いことです。アーカイブすると、Xcodeは配布用に自動的にサインをコーディングします。それはそもそも実装すべきだった方法です。Appleが自動移行をIDEの一部にできないのは残念です。代わりに、開発者にこのような機能を実現するために数十年を費やすように強制します。

2
Jonas Byström

私はこの問題に1日以上苦労しており、ここやインターネット上の他の場所で提案されているあらゆる種類の解決策を試しています。何も機能しませんでした...

しかし、私はついに問題を解決することができました!

私が抱えていた問題は、私が3年以上触れていない古いアプリにあり、今では待望のアップデートをリリースしようとしていました。アプリをリリースして以来、Appleは証明書とアプリIDの動作を更新しています。彼らは使用することが推奨されると思われるチームIDの概念を導入しました。特に、Appleの「Certificates、Identifiers&Profiles」サイトでは、それ以来多くの変更が行われています。

そこで、App Store Distributionに使用しているプロビジョニングプロファイルがApp Id ED8xxxxxxx.com.rostsolutions.*に接続されていることに気付きましたが、提出しようとしているゲームのApp Idを見ると、App IdがATMxxxxxxx.com.rostsolutions.Swischであることがわかります。そのため、アプリIDプレフィックスは一致しませんでした!それが問題の根本であるように思われました。そのため、代わりにアプリID ATMxxxxxxx.com.rostsolutions.Swischに接続された新しいプロビジョニングプロファイルを作成しました。そのプロビジョニングプロファイルを使用して、アプリをApp Storeに正常に送信し、Apple側で他のすべてが正常に機能することを指で確認しています。

(最初に、代わりにワイルドカードID ATMxxxxxxx.com.rostsolutions.*に新しいプロビジョニングプロファイルに接続しようとしましたが、うまくいかないようでした)。

しかし、私が困惑しているのは、iTunes Connectsの古いアプリを見て、バイナリの詳細に移動すると、アプリIDがED8xxxxxxx.com.rostsolutions.Swischであると表示されることです。では、「証明書、識別子、プロファイル」ページにアプリIDがATMxxxxxxx.com.rostsolutions.Swischとしてリストされているのはなぜですか?

2
Daniel

上記のすべてがうまくいかなかった場合(私の場合、2、3日後に運がないすべてを試してみてください)、Macアプリケーションは1つしかありません。 取消しに注意してください!

1)すべての「Mac App Distribution」および「Mac Installer Distribution」を手動で取り消します
2)キーチェーンの関連する証明書とオープンキーを消去します(警告:削除する前にエクスポートします)
3)Xcodeを再起動します4)(Safariで) developer.Apple.com->証明書などに移動します 5)キーチェーンでCertificateSigningRequest.certSigningRequestを作成します-> Certificateアシスタント
6)* .certSigningRequestを使用して、「Mac App Distribution」と「Mac Installer Distribution」の両方をdeveloper.Apple.comで手動で作成します。
7)プロビジョニングプロファイル->配布-> AppStoreのカスタムプロビジョニングの作成/修正(特別に「AppStoreのMacプロビジョニングプロファイル」という名前が付けられます)
8)Xcode->設定->アカウント->アカウント->更新9)Xcode Clean->アーカイブ->検証

1
WINSergey

this ウェブサイトでその問題を解決するための非常に良いチュートリアルがあります。

この問題は、Projects Bundle Identifierが iTunes Connect Website で入力したものと異なる場合に発生する可能性があると言われています。

1
130e13a

私は同様の問題に取り組んでいます(アドホック配布用に構築していました)。前回の正常な展開以降に変更されたのは、プロビジョニングプロファイルに2つのデバイスを追加することだけでした。

すべてのビルド設定をダブルおよびトリプルチェックした後、プロビジョニングプロファイルを再生成し(何も変更せずに)、再ダウンロードして正常に機能しました。

自己に注意してください:論理的な説明がない場合は、いつでも古き良きITブードゥーを試すことができます。

iPhone Configuration Utility もお勧めします。名前にかかわらず、コンピューターにあるプロビジョニングプロファイルを確認するのに役立ちます。

1
Tomek Cejner

私の場合、同じ問題がありました。私の解決策は、アーカイブを実行する前に、ビルド設定の「リリースプロビジョニングプロファイル」を変更することでした。 App Store配布用に1回、アドホック配布用に1回、これを2回行います。また、アーカイブにコメントを追加します。私の結論は、「アーカイブの再署名」について何かが壊れているということです。

1
Hector

エラーITMS-9000:「このバンドルは無効です。 App Storeに送信される新しいアプリとアプリの更新は、XCode 5.1.1以降のパブリック(GM)バージョンとiOS 7 SDKでビルドする必要があります。ベータ版ソフトウェアでビルドされたアプリを送信しないでください。

1
hi0001234d

Xcode 5は、自分で作成した「配布」の代わりに「リリース」を使用すると思います。

1
superarts.org

複数の開発者が同じメンバーセンターアカウントを使用している場合。そのうちの1人は、他のユーザーが作成した証明書を使用できません。コンピューターを使用して作成された証明書要求を使用したためです。

自分で作成した証明書(コンピューターを使用して作成した証明書要求)を使用する必要があります。

代わりに、開発者プロフィールを送信するように伝えました。名前がわからない。別のコンピューターで作成された証明書を使用する。

0
hasan

リソースにリソースにエンタイトルメントファイルが含まれていないため、コード署名エンタイトルメントが発生します。ビルド設定に移動し、コード署名エンタイトルメントを検索してデバッグとリリースのエントリを削除し、プロジェクトを再度ビルドしてエラーがないことを確認します。乾杯

0
Shauket Sheikh