web-dev-qa-db-ja.com

プッシュ通知の資格がありません

バイナリビルドを送信した後、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プッシュ通知資格がない

46
Sasi M

私はそれがApplesチェックシステムのバグであることをかなり確信しています。昨日アプリをアップロードして、このメッセージを受け取りました。このアプリは問題なく少なくとも30回更新されています。前回のバージョンではプッシュ通知コードを追加しませんでした。このメッセージを引き起こす可能性のあるPhoneGapやCordovaなどのフレームワークは使用しません。デバイスの通知の下には表示されません。

何も見つけずにアプリでプッシュ通知コードを検索しました:

grep -r "registerUserNotificationSettings"。
grep -r "registerForRemoteNotificationTypes"。

最終的に、7月に承認された以前のバージョンをアップロードしようとしました(電子メールは生成しませんでした)。今回は、このバージョンでも警告メールを受け取りました。だから、Appleは間違っていると思います。私はチャンスをつかんで、警告にもかかわらず承認されることを望みます。


編集:Apple Apple開発者フォーラムのスタッフ:

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

アプリ検証ツールは、アプリのUIApplicationDelegateメソッドapplication:didRegisterForRemoteNotificationsWithDeviceToken:の実装を確認します。アプリのデリゲートがそのメソッドを実装し、aps-environmentエンタイトルメントがない場合は、説明した警告が表示されます。

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


編集2:警告メールを生成しても問題なく承認された2つの異なるアプリがあります

48
Sten

以下に、再確認したいことがいくつかあります。

Apple Developer Center

セクションIdentifiers>App IDsプッシュ通知は、実装していない場合は有効にしないでください。

Apple Developer Center: Application Services

サービスを有効または無効にするたびに、新しいモバイルプロビジョニングを生成する必要があります。 プッシュ通知がアプリ対応サービスにリストされていないことを確認してください:

enter image description here

Xcodeプロジェクトのターゲット設定

アプリケーションターゲットのCapabilitiesタブで、Push Notificationsをオンにする必要がありますオフ。

また、Background Modesでは、Remote Notificationsモードはありません。

enter image description here

アプリケーションデリゲート

最後に、アプリケーション通知デリゲートをリモート通知に登録していないこと、およびリモート通知デリゲートメソッドを実装していないことを確認してください。次のメソッドが呼び出されたり、実装されていないことを確認する必要があります。

  • registerForRemoteNotifications()iOS 8.0の前のregisterForRemoteNotificationTypes()
  • unregisterForRemoteNotifications()
  • isRegisteredForRemoteNotifications()
  • application(_:didRegisterForRemoteNotificationsWithDeviceToken:)
  • application(_:didFailToRegisterForRemoteNotificationsWithError:)
  • application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
  • application(_:handleActionWithIdentifier:forRemoteNotification:completionHandler:)
  • application(_:didReceiveRemoteNotification:)

お役に立てば幸いです!

17
Ferschae Naej

私は同じメールを受信して​​いますが、それは警告であるようで、私のアプリはストアに承認されました。

過去2年間に更新したアプリがありますが、プッシュ通知はなく、この警告を受け取った最近のリリースまではすべて良好です。 Appleこれは単なる警告であり、考慮すべきではないようです。彼らの側のエラーだと思うので、次のXcodeアップデートで修正されることを願っています。

1
mgm

[ターゲット]> [機能]に移動し、

プッシュ通知は問題なく有効にする必要があり、バックグラウンドモードも有効にする必要があります。

1
Amit Ajmera

私にとってもAppleのバグのように見えます。私のアプリの最新バージョンも警告を受けましたが、1週間以内に承認されました。この新しいバージョンでは、非常にシンプルなTodayウィジェットを使用しています。したがって、NotificationCenterフレームワークをリンクする必要があります。ウィジェットは、収容アプリからのデータを報告します。これを行うには、App Groupsの資格を介して共有されるNSUserDefaultsを使用するだけです。プッシュ通知ほど洗練されたものはありません。

Appleは、プッシュ通知を使用してTodayウィジェットを管理できると書いています。

https://developer.Apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/NotificationCenter.html

おそらく、誤ってではありますが、NotificationCenterフレームワークなどの理由で警告がトリガーされました。

1
SuanMei

いくつかのポッドを更新するだけでこの警告を受け取りました(FacebookSDKもその1つです)。それらの1つがUIApplicationDelegateメソッドapplication:didRegisterForRemoteNotificationsWithDeviceToken:これが、これから警告を無視する理由です。

0
SoliQuiD

まず、プッシュ通知の登録に使用されるregisterForRemoteNotificationTypesまたはregisterUserNotificationSettingsのコードを検索します(OSのバージョンによって異なります)。

それらの1つを見つけた場合、それが問題です。通知を使用していない場合は削除する必要があります。

おそらく問題は、ローカル通知を使用していて、誤ってリモート通知にも登録していることでしょうか?

0
Rony Rozen

集中的な調査と証跡の1か月後、これは私のために働きました: Missing Push Notification Entitlement warning

0
Anish Kumar