会社のブログログイン登録スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。1,581件0現在開発中のアプリでプッシュ通知、通知センターにて通知されるデバイスとされないデバイスがあります。以下がテストした条件ですが、考えられる原因を教えて頂けると助かります。断定できなくとも可能性として考えられる原因でめ結構です。個の銅バッジ4私の経験だとそもそもサイレントプッシュはアプリが終了している場合、届かなかったと思います。Appleはプッシュ通知が100%届くことは保証していなかったと思います。14:12ご返信ありがとうございます。断定は出来ないのですが4において通知されるデバイスがあるため2は通知されているものと推測しています。全ての通知を受信できているデバイスは何度テストをしても4の通知があるのですが、逆にテストで全く通知されないデバイスは何回テストをしても4の通知を受信できません。サイレントプッシュ通知はタスクを切らずバックグランド状態の際に受信しており、受信をトリガーにバックグランド更新をしています。完全にアプリが終了している際は表記した一切のタスクは機能していません。14:40ご説明ありがとうございます。理由を特定するために、確実に1つずつ状況を整理していくのが良いかと思います。1番はデバッグしながら動作確認するのが良いと思いますが、testflightという状況から察するにローカル環境では発生していないのかなと推測します。あるならば、2でサイレントプッシュ受信時にNSUserDefaultにログ保存するなど一時的に処理を追加すれば動作が追えるかと思います。3でサーバアクセスしているのであれば、サーバのアクセスログを確認することで3まで動作しているか証明できるかと思います。サービス固有のロジックが影響している可能性があるのであれば、プッシュ通知が届かない端末のデバイストークンにロジックを介さない形で直接プッシュ通知を送ってみても良いかもしれません。(単純にプッシュ通知を送るだけのサーバを立てて試すなど)もし、この時点で届かないのであれば、デバイストークンがおかしいということが言えるかと思います。registerForRemoteNotificationsの実行位置でしょうか。setDelegate:self];}iOS10以降はrequestAuthoricationWithOptionsを実行して、ユーザに通知許可アラートを表示するようになっています。この結果がgrantedに入ってくるので、ユーザが明示的に通知許可した場合のみregisterForRemoteNotificationsを実行しましょう。|0ご返信ありがとうございます。細かく指示を頂けましたので原因を見つける手掛かりとなりそうで大変感謝いたします。サーバーのログを取るようにして原因を特定してみたいと思います。2:06ご返答ありがとうございます。15:16ご指摘ありがとうございます。試させて頂きたいと思います。6:20これは自己回答なのですか?もし追記情報なら質問内容の方に移してください。回答であれば、回答として「どういったコードなのか」簡単に説明すると更に良い回答となります。|この質問に回答するには、ログインする必要があります。求めていた回答ではありませんか?iosのタグが付いた他の質問を参照する。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。従って情報を開示できることに同意したことになります。選択した項目のみ受け入れる。