1. ホーム
  2. ios

[解決済み] プッシュ通知のエンタイトルメントの欠落

2022-02-16 04:26:26

質問事項

バイナリビルドを送信したところ、Appleから警告メールが届きました。

    Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement.
If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. 
See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. 
If your app does not use the Apple Push Notification service, no action is required. 
You may remove the API from future submissions to stop this warning. 
If you use a third-party framework, you may need to contact the developer for information on removing the API.

    After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.

プッシュ通知もCoredovaのようなサードパーティフレームワークも使っていないのに、なぜ何度もこの警告が出るのか、よくわかりません。以下のリンクを参考にしましたが、どこもサードパーティフレームワークの問題です。

プッシュ通知サービスをアプリで使用するつもりはないので、有効にしたくありません。この警告を修正するために、何か手助けがあれば幸いです。ありがとうございました。

注意:すでに何度もプロファイルと証明書を削除し、再作成しています。

プッシュ通知のエンタイトルメントの欠落に関する警告

プッシュ通知のエンタイトルメントがない

IOS Missing Push notification entitlement

解決方法を教えてください。

Appleのチェックシステムのバグであることは間違いないでしょう。昨日、あるアプリをアップロードしたら、このメッセージが表示されました。このアプリは少なくとも30回は問題なく更新されています。最後のバージョンではプッシュ通知のコードを追加していませんし、PhoneGapやCordovaなどこのメッセージの原因となるようなフレームワークも使っていません。 デバイスの通知の下には表示されません。

アプリ内でプッシュ通知のコードを探しましたが、何も見つかりませんでした。

grep -r "registerUserNotificationSettings" .
grep -r "registerForRemoteNotificationTypes" .

7月に承認された(そしてメールが発生しなかった)前のバージョンをようやくアップロードしようとしました。今回、このバージョンでも警告メールが届きました。だから、私はアップルが間違っていると思うし、私はチャンスに賭けて、警告にもかかわらず、それが承認されることを期待します。


EDIT: Apple Developer Forumで、Appleのスタッフからの返信を見つけました。

その通知は警告であり、拒否ではありません。

アプリ検証ツールは、アプリ内にUIApplicationDelegateメソッドapplication:didRegisterForRemoteNotificationsWithDeviceToken:の実装があるかどうかをチェックします。アプリのデリゲートがそのメソッドを実装しており、aps-environmentのエンタイトルメントが存在しない場合、説明した警告が表示されます。

あなたのアプリがプッシュ通知を使用していないにもかかわらず、使用しているサードパーティーライブラリーがそのメソッドを実装している可能性があります。その場合は、この警告を無視してもかまいません。これは、プッシュ通知を使用する開発者に、アプリの署名が正しくない可能性があることを知らせるためのものです。


EDIT 2: 現在、警告メールが発生したにもかかわらず、問題なく承認された2つのアプリがあります。