2012-01-08 26 views
4

私のアプリでプッシュ通知をテストしようとしています。今それは正常に動作しますが、私はまた、システムの警告が表示されているときにユーザーがプッシュを受け入れない可能性をテストする必要があります。ただし、最初にユーザーが受け入れるケースをテストした後。通知センターのキャッシュ設定?

私はアプリを削除して、デバイスやその他のものを再起動することができますが、設定は残っているようです。アプリを削除すると通知センターから削除されますが、設定をインストールした直後は削除前と同じです。

私は、このダイアログが常時表示されていないことをAppleが指摘していることを理解できますが、ユーザーがアプリを削除して再インストールした場合、手動による行為であり、質問に再び尋ねられた場合はスパムのようには見えません。とにかく前iOS5をやった。だから、

  • は、これらの設定をキャッシュ通知センターをしていますか?
  • もしそうなら、どれくらいの期間ですか?
  • そして最も重要なことは、どういうわけかこれを強制的にテストすることができますか? (デバイスの日付を将来に設定する?)
+0

あなたはこれ以上何かを見つけましたか? もしそうなら、共有してください:) – Constantine

答えて

1

通知センターが環境設定を保存する方法は、非公開で文書化されていませんが、Mac OSXに基づいているため、あなたのアプリケーションではあなたのアプリのディレクトリ構造ではなく、システムディレクトリ内の識別子。これを確認するには、あなたのアプリの識別子を変更し(それ以外は何もしない)、以前の設定を確認します。これはキャッシングではなく、データを永続化するために選択した実装です。削除されたアプリの設定を「忘れる」ために何かできることはほとんどありません。

+0

これを行う方法の1つは、識別子を変更することです。しかし、私はAppleがこの永続性を選択する理由を実際に知ることはできません。アプリを削除すると、ユーザーにはそれ以上興味がないことが示唆されるため、すべての設定を削除する必要があります。とにかくOSのものではなく、特に通知センターの設定です。 – sebrock

+0

私はそれが意図的ではないと思っています。レガシーコードの副作用です。それに関するバグ報告をファイルし、その情報を使って変更を促します。 – RyanR

7

Resetting the Push Notifications Permissions Alert on iOS
初めてプッシュ対応アプリがプッシュ通知を登録すると、iOSはそのアプリの通知を受け取るかどうかをユーザーに確認します。ユーザーがこのアラートに応答すると、デバイスが復元されたり、アプリが少なくとも1日はアンインストールされたりしない限り、再度表示されません。

アプリの初めての実行をシミュレートする場合は、アプリを一日アンインストールしたままにしておくことができます。実際に1日待たずに、システムクロックを1日以上前に設定して、デバイスを完全にオフにしてからデバイスをオンに戻すことで、後者を実現できます。

+1

2013-09-17現在、Appleは方法の説明を更新しました。これは、わずかながらも重要なステップの微調整です。私はiOS 7.1で検証しました。 @ Jerred - オリジナルのリンクをありがとう! 1.デバイスからアプリを削除します。 2.デバイスを完全にオフにして、再度オンにします。 3. [設定]> [一般]> [日付と時刻]に移動し、日付を1日以上先に設定します。 4.デバイスの電源をもう一度切って入れ直します。 –

関連する問題