142

拒否されたときに送信するアプリがあり、メッセージを受け取りました

プッシュ通知資格がありません - アプリは Apple プッシュ通知サービスに登録されているように見えますが、アプリ署名の資格に「aps-environment」資格が含まれていません。アプリで Apple プッシュ通知サービスを使用している場合は、アプリ ID がプロビジョニング ポータルでプッシュ通知に対して有効になっていることを確認し、「aps-environment」資格を含むディストリビューション プロビジョニング プロファイルを使用してアプリに署名した後、再送信してください。

アドホック プロビジョニングを確認したところ、aps-environment と production が見つかりましたが、ディストリビューション プロビジョニングを開くと、そのようなものが見つかりません。

これがこのエラー メッセージと Apple の拒否の原因ですか?どうすれば修正できますか?

4

18 に答える 18

83

はい、それが App Store の拒否の原因です。アドホック プロビジョニング プロファイルに aps-environment キーがある場合は、アプリが Apple プロビジョニング ポータルで正しく構成されていることを意味します。ローカル マシン上の App Store 配布プロファイルを削除し、プロビジョニング ポータルから配布プロファイルを再ダウンロードしてインストールするだけです。この新しいものには、aps-environment キーが含まれている必要があります。

于 2013-02-11T06:59:55.520 に答える
38

XCode 8 では、プロビジョニングと証明書のすべてを有効にすることに加えて、ターゲットの [機能] タブでプッシュを有効にする必要があります

これに関する私のブログ投稿はこちら.

于 2016-09-21T14:21:16.450 に答える
23

別の理由でこのメッセージを受け取りました。アプリ専用の App Store 配布プロファイルを最初に作成せずに、Xcode 経由でアプリを送信しました。ワイルドカード App Store プロファイルがインストールされている場合、Xcode は自動的にそれを使用すると思います。ただし、プッシュ通知を使用するアプリには独自のプロファイルが必要です。

修正は、アプリの新しい App Store 配布プロファイルを作成することです。次に、それをダウンロードして Xcode にドラッグし、プロジェクトの [ビルド設定] > [コード署名] > [リリース] を変更して、新しいプロファイルを使用します。

于 2013-08-19T04:36:57.293 に答える
9

アプリで実際にプッシュ通知を使用しているこの問題に遭遇した場合:

私たちのプッシュ証明書は最近期限切れに近づいていたので、Apple によって概説されている標準的な方法で新しい開発/製品プッシュ証明書を作成しました (ここではこれについて詳しく説明しません。更新時にウェブ全体に多くの情報があります)。プッシュ証明書をもう 1 年間使用できます)。

しかし、そうした後、この質問の問題が発生しました。何をしたとしても、アプリを提出した後、Apple からこのメールを受け取りました。Apple メンバー センターで配布プロビジョニング プロファイルの設定を確認したところ、すべて問題ないように見えました (製品と開発の両方のアプリ ID に対してプッシュが有効になっていて、配布プロビジョニング プロファイルはまだこのアプリ ID に接続されていて、文字通り作成したばかりです)。標準的な慣行として、新しいプッシュ証明書をもう 1 年間発行します)。

最後に、これが私のためにそれを解決したものです:

  1. アプリ ID を指す新しいディストリビューション プロビジョニング プロファイルを作成します (現在のものはそのままにしておきます)。
  2. Xcode で、[設定] > [アカウント] > [アカウントを選択] > [詳細] > [更新] アイコンをクリックして、プロビジョニング プロファイルを更新します。
  3. アプリの資格 plist ファイルを手動で作成します。
    • [ファイル] メニュー > [新しいファイル...]
    • [iOS] > [リソース] > [プロパティ リスト] を選択します
    • 新しいファイルに「foo.entitlements」という名前を付けます (通常、「foo」がターゲット名です)。
    • [資格ファイル] の横にある (+) をクリックして、最上位の項目を追加します (プロパティ リスト エディターは、ファイル拡張子により正しいスキーマを使用します)。
  4. この資格ファイルがターゲットのビルド設定で使用されていることを確認します ([ターゲット] > [ビルド設定] > [資格] を検索し、CODE_SIGN_ENTITLEMENTS で作成した資格ファイルへのパスを設定します)。
  5. ターゲットのプロビジョニング プロファイル/コード署名 ID が適切なディストリビューション プロビジョニング プロファイル/署名 ID に正しく設定されていることを確認します (これは明らかなはずです)。
  6. これが影響したかどうかは100%わかりません(ターゲット設定がプロジェクト設定をオーバーライドするため、影響はありませんが、とにかくこれを行いました)、プロジェクトのプロビジョニングプロファイル/署名IDがターゲットのものと一致することを確認してください
  7. 作成した権限ファイルで、空のファイルを右クリックし、[生のキー/値を表示] を選択します。
  8. 「aps-environment」という資格ファイルに新しいエントリを追加し、その値を「production」に設定します。
  9. 1 つの重要な注意点として、以前に keychain-access-groups エンタイトルメントを使用していた場合は、そのキーもここに追加することをお勧めします。手動でこれを行うと、何らかの理由でクリアされてしまうからです。値が以前のビルドで使用された値と同じであることを確認してください (値は、オーガナイザーで以前のビルドを検索し、アプリ ストアに送信してチームを選択し、アプリを送信する前に、 「(X) Entitlements」文字列でエンタイトルメントを展開し、keychain-access-group エンタイトルメントの値を確認します。
  10. アプリをアーカイブし、最後の [送信] ボタンが表示されるまで送信を試みます。メンバー センターで作成した新しいプロビジョニング プロファイルを使用して、このアプリがビルドされたことがわかります。今すぐキャンセルしてください。
  11. Apple メンバー センターに戻り、手順 1 で作成した新しいプロビジョニング プロファイルを削除します。
  12. Xcode に戻り、手順 2 を繰り返してプロビジョニング プロファイル リストをもう一度更新します。
  13. アプリを再度アーカイブすると、アプリが使用したい古いディストリビューション プロビジョニング プロファイルでビルドされており、aps-environment 資格が正しく含まれていることがわかります。送信して完了です。

これはスクリーンショットが必要なほど詳細ではないことはわかっています。可能な場合はスクリーンショットで更新しようとしますが、当分の間、私は今時間に追われており、概要を知りたいと思っていました私がそこでしたこと。また、ここで概説した手順の一部または大部分が必要ない可能性も非常に高いです。それらを実行して最終的な解決策につながった可能性があるため、ここに記載します。

于 2015-09-23T21:11:01.133 に答える
5

アプリ ID が iOS プロビジョニング ポータルの developer.apple.com でプッシュ可能かどうかを確認します 有効になっていない場合は、アプリ ID のプッシュ SSL 証明書を構成します ダウンロードし、キーチェーンに再インストールします もう一度配布プロファイルのインストールをダウンロードしますXcode ライブラリで

于 2013-02-11T07:06:15.123 に答える
4

アプリでプッシュ通知をまったく使用していなくても、この問題に直面していました.新しいプロビジョニングプロファイルを作成しても機能しませんでした.私がしたことは:-

1. アドホックおよび App Store のみの新しい証明書を作成します。

2.次に、この証明書を使用して配布プロファイルを作成し、プロファイルを Xcode と統合します。

次に、このプロファイルを使用して新しく送信されたビルドは、警告なしで承認されました。

于 2015-09-16T09:29:56.903 に答える
4

これが私にとってそれを修正したものでした。(機能のオン/オフの切り替え、プロビジョニングプロファイルの再作成などはすでに試しました)。

Build SettingsタブのCode Signing Entitlementsで、.entitlementsファイルがすべてのセクションにリンクされていませんでした。Any SDK セクションに追加すると、エラーは解決されました。

ここに画像の説明を入力

于 2016-12-21T14:42:34.593 に答える
3

FIX IDEA 皆さん、アプリを作成し、プッシュ通知機能を使用していませんが、まだメールが届きます。Apple Developer Portal の Apple Store Connect でアプリを作成するために使用したバンドル ID の証明書、ID、およびプロファイルを確認した後、プッシュ通知がオンになっていることに気付きました。

あなたがしなければならないことは次のとおりです。

証明書 aso を管理できる Apple 開発者ログイン サイトに移動します 2. 右側の [Certificates, IDs and Profiles] タブを選択します 3. 次に [Identifiers] を選択します 4. 右側のリストからバンドル ID を選択します 5. 次にプッシュ通知が表示されるまで下にスクロールします 6. オフにします 7. ビルドをアーカイブし、Apple Store Connect に再アップロードします

それが役に立てば幸い!

于 2020-04-08T22:50:21.433 に答える
2

私の場合、myapp.profile を作成して手動で xcode に設定しても、「show in finder」を選択して embedded.mobileprovision を見つけ、ファイルに aps-environment があることを確認すると、エラーが発生しましたまだそこにあります。

次に、開発者センターに行ったところ、XC: myapp.profile のステータスが無効であることがわかりました。私はそれを更新し、XC: myapp.profile をインストールしましたが、うまくいきました。

xcode はプロファイルを管理しようとしていると思います。バイナリを送信して保存するときにプロビジョニング プロファイルを確認し、それが正しいプロファイルであることを確認する必要があります。そして、他の回答によると、それはさまざまな理由で引き起こされる可能性があるため、本当に迷惑になる可能性があります.

アップデート:

ダウンロードしたプロファイルで署名し、aps-environmentに送信しようとしたときにそこにあることを確認したらApp Store、プロファイルとコード署名エンティティを自動および に変更できるはずですiOS Developer。Xcode 7で改善されることを願っています。

于 2015-02-11T04:11:29.067 に答える
1

ここには本当に良い提案がいくつかあります。

Mina が最初にアプリをアーカイブした後に提供した最後のスクリーンショットを参照すると、アップロード中に言及されたプロビジョニング プロファイルにワイルドカード (XC.*) が含まれていました。これは間違っています。

これを解決するにはかなりの労力が必要でした。Simon Woodside と Mina Fawzy が提供した提案を組み合わせて実行する必要がありました。

プロジェクトに関連する既存の証明書とプロビジョニング プロファイルがある場合は、ここでそれらをすべてローカルで削除し、リモートですべて取り消すことをお勧めします。新たなスタートを切りましょう。

Mina Fawzy の詳細な提案は優れています。Mina の提案を実行すると、正しく実行されれば、オンラインで問題が解決するはずです。

サイモンの提案を入力してください。プロジェクト内で確認する必要があった 2 つのこと。XCode を使用して、ここに移動します。

プロジェクト -> ビルド設定 -> コード署名

コード署名 IDプロビジョニング プロファイルのプロパティを確認します。これら 2 つのプロパティをプロジェクト名のプロパティに設定してください。XCode による自動選択を許可しないでください。また、一般的なコード署名 ID (Iphone Developer など) を使用しないでください。

アーカイブを決定する前に、実際にアプリをデバイスにインストールできることを確認してください。

于 2016-07-14T19:55:06.357 に答える