アプリをアプリストアにアップロードしようとしていますが、証明書があるページでこのエラーが発生します。私が知る限り、フィールドを変更して一致させましたが、何かが足りません。

どんな助けでも大歓迎です。

アプリをアプリストアにアップロードしようとしていますが、証明書があるページでこのエラーが発生します。私が知る限り、フィールドを変更して一致させましたが、何かが足りません。

どんな助けでも大歓迎です。

回答:
これで修正された理由はわかりませんが、[ターゲットの機能]タブに移動し、iCloudをオンにして、アーカイブビルドを実行しようとしましたが、失敗しました。もう一度iCloudをオフにして、アーカイブビルドを実行しようとすると、成功しました。その後、証明書を再び自動的に解決することができました。
Finderを右クリック->フォルダに移動...
~/Library/MobileDevice/Provisioning
Xcode11の場合
~/Library/MobileDevice/Provisioning Profiles/
すべてのプロビジョニングプロファイルを削除しました。
~/Library/MobileDevice/Provisioning Profiles/
作成したアプリのapplication-identifier値が、プロビジョニングプロファイルが期待しているものに対して正しくありません。チーム2ABCDEFGのappIDcom.example.fooの証明書は、application-identifier:2ABCDEFG.com.example.fooを期待します。アプリは、appIDがcom.example.fooであると宣言しましたが、application-identifierが一致しませんでした、間違ったチームプレフィックスを使用しているか、bundleIDが正しく構成されていません。
私の場合、ビルドスキームを使用して、prodアプリとqaアプリをビルドできるようにしています。prodの場合はcom.example.foo、QAの場合はcom.example.foo.qa。Info.plistのbundleIdentifierを$(PRODUCT_BUNDLE_IDENTIFIER)$(BUNDLE_SUFFIX)に設定しました。これは、シミュレーターやデバイスでさまざまなアプリを使用する場合に最適ですが、アーカイブフェーズでアプリがアプリケーションIDを生成すると、 Info.plistによって生成されたbundleIdentifierを読み取っていてはなりません。
この状況を改善するために、FooProject.xcodeproj / project.pbxproj(テキストエディターを使用)を編集して、QA buildSettingsPRODUCT_BUNDLE_IDENTIFIERをcom.example.foo.qaに変更しました。
AppleのテクニカルQ&Aを見ると、これを解決するための詳細がわかります。エクスポートしたアプリでcodesignエンタイトルメントを実行し、アプリが作成されたばかりのアプリケーションIDを確認すると、何が間違っているのかをすぐに理解できるはずです。 https://developer.apple.com/library/content/qa/qa1879/_index.html エラーメッセージのフレーズを実際に使用したり、アプリケーションを呼び出したりしていないため、Google検索でそのページが見つかりませんでした-フルネームによる識別子。代わりにアプリIDと言います。
また、この問題の解決策は、アプリケーションIDの資格を持つ新しいプロビジョニングプロファイルを生成することではありません。その資格はありますが、プロビジョニングプロファイルの値と、アプリが一致している必要があります。
アプリ内購入、プッシュ通知、アプリ間オーディオ、Siriキットなど、アプリケーションに必要なアプリケーション機能を確認してください。
これが、このタイプのエラーの唯一の原因です。
アプリIDで上記のフラグがオンになっていることを確認してください。
ほとんどの場合、プッシュ通知を構成していない場合に発生します。開発中のアプリIDでアプリを購入します。
私の場合、問題は次のとおりでした。ビルドステップに使用されるプロビジョニングプロファイルは、エクスポートステップに使用されるプロビジョニングプロファイルとは異なるアプリIDに対して作成されました。
したがって、ビルドとエクスポートのステップで同じプロビジョニングプロファイルを使用していることを確認してください。
開発者アカウントでアプリIDに対して有効にしたオプションを使用して、アプリの機能をクロスチェックします。
TL; DR:アプリIDをチェックし、サービスがターゲットの内容と一致していることを確認します。
私に起こったことは、Xcode 10.1にアプリIDの作成を手伝わせた後、ここで説明するような問題が発生したことです。(iTunesConnectでアプリを作成したときにwhildcardアプリIDを選択したので、これが行われたことに気づいていませんでした。)iOS開発者ポータルを開くと、新しいアプリIDでGameCenterとアプリ内購入が自動的に有効になります。
でGameCenterを有効にできなかったためTarget -> Capabilities、アプリ内購入を有効にすると、アプリに署名してアップロードできました。
同じ問題に直面したとき、上記のすべてを試しましたが、どれもうまくいきませんでした。
バンドル識別子を変更して、前の識別子と同じにならないようにしました。たとえば、「com.name.App」から「com.name.App2」に変更しました。xcodeにプロビジョニングプロファイルのフェッチ/作成を試みさせてから、元のプロファイルに戻すチャンスを与えます。
Appleの開発者フォーラムのこのスレッドからこのアイデアを得ました-https : //forums.developer.apple.com/thread/114539
重複したターゲットを作成しようとした後、最近このページに出くわしました。どの提案もうまくいきませんでした。さらなる調査とある程度の髪の毛の引っ張りにより、最終的にはアプリのビルド設定を精査して、何が問題なのかを突き止めようとしました。
私のプロジェクトは、独自のターゲットではなく、元のターゲットのエンタイトルメントファイルをまだ指していることが判明しました。これを解決するために、Finderで元のエンタイトルメントファイルに移動しました(例:$ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements)、同じフォルダー内にコピーを作成して、名前を変更しました(例:NewTargetName.entitlements)。
次に、新しいエンタイトルメントファイルを開き、application-identifierフィールドを変更して、新しいターゲットのバンドル識別子の末尾に一致させました(例:ABCDEFGH.US.co.fake-company.superduperapp-newtargetname)。
最後に、ビルド設定の[コード署名資格]フィールドを資格ファイルのパスに更新しました(私にとって、これは$ {SRCROOT} /MyProject/Entitlements/TargetName.entitlementsの行に沿ったものでした)。
[署名と機能]タブに戻りましたが、問題は修正されました。誰かがこれが役に立つと思うことを願っています。
この問題は、Xcode 12ベータ3の新しいアプリで発生しました(アプリの提出は本日開始されました)。
Xcodeは「署名を自動的に管理する」をオンにしました。ただし、「署名証明書」に表示されているチームIDが、iTunes ConnectWebサイトに表示されているチームIDと一致しませんでした。これが、アプリのアップロードを妨げる根本的な原因でした。
修正方法:
exportArchiveコマンドを実行してAppStoreにアップロードするGitlabパイプラインをセットアップしているときに、同じ問題が発生しました。ビルド設定のDEVELOPMENT_TEAMを、Signing&Certsで選択したのと同じチームに変更することで、それを機能させることができました。
以前は空白に設定されていたため、デフォルトで別のDEV TEAM IDを使用していましたが、これは正しくなく、一致せず、「application-identifier」= 12331232.com.bannana.apples.peachが一致しないと文句を言っていました。これにより、正しいDEV TEAMを設定することができ、うまくいきました。
Xcodeバージョン:バージョン11.3.1
これが誰かに役立つことを願っています。
複数のターゲット:
...そしてiCloudを使用します。
iCloudのオンとオフを切り替えることは私たちの選択肢ではありませんでした。私たちはすでにそれを本番環境で使用しており、それを台無しにすることはありません...私は元の質問のメッセージとこのバリエーションもある時点で受け取りました:
プロファイルが、application-identifierおよびkeychain-access-groupsエンタイトルメントのエンタイトルメントファイルの値と一致しません。
ここでの他の応答からヒントを得て、すべてのターゲットに.entitlementsファイルがあることを確認しました。ターゲットに何もなかった場合は、次のように空のターゲットを作成しました。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
</plist>
...そしてターゲットCode Signing EntitlementをBuild Settings空の.entitlementsファイルに向けました。
解決しました!
にあるすべてのプロファイルを削除します ~/Library/MobileDevice/Provisioning Profiles/
entitlements.plistファイルを表示します。