Apple contrôle les notifications push à distance. Si vous êtes hors ligne, vous ne pouvez pas le désactiver de manière logique. Quand Apple vous voit pour la première fois en ligne et que les poussées ne sont pas désactivées, il vous envoie des push. Il n'y a aucun moyen d'empêcher l'iDevice d'afficher les poussées que Apple envoie à l'utilisateur, car ce n'est pas entre les mains de l'application.
Il n'y a donc qu'une seule possibilité: Vous devez désactiver IMMÉDIATEMENT les poussées après la remise en service de l'appareil. Et encore c'est une question de chance, quel message Apple obtient d'abord, que vous êtes en ligne ou que vous désactivez la poussée. Et il y a aussi la question, qu'adviendra-t-il des notifications que Apple voulait envoyer à l'appareil alors qu'il était hors ligne. Va-t-il les renvoyer de toute façon lorsqu'ils sont en ligne ou les rejeter lorsqu'ils désactivent en premier? Je ne sais pas. Vous devrez faire la recherche.
Donc, la seule chance que vous avez est si votre application est en arrière-plan pendant que l'utilisateur se connecte. Vous devez empêcher votre application d'être suspendue (here's pour y parvenir) afin de pouvoir répondre aux notifications du système. La notification dont vous avez besoin est celle du changement de statut en ligne, je sais seulement qu'elle existe. This resource peut être utile. Lorsque l'appareil est en ligne, il informe votre application qui attend en arrière-plan (pas suspendu). Ensuite, vous pouvez réagir en désenregistrant immédiatement les poussées à distance.
C'est le meilleur que vous pourriez réaliser dans cette direction. J'espère que cela t'aides.
Vous n'avez pas besoin d'être connecté à Internet pour vous désinscrire? – DGund
@DGund J'étais sous la même idée fausse, mais en réalité, vous devez être en ligne pour vous désinscrire pour la notification avec succès. Vous recevez toujours des notifications si vous n'êtes pas enregistré alors que vous n'avez pas de connectivité. – user1732255