29

初めて Xcode を使用して iOS アプリケーションをインストールすると、iPhone からプッシュ通知を有効にするかどうか尋ねられます。

通知を送信でき、バッジには送信した番号が表示されます。

iPhone からアプリケーションを削除して Xcode で再構築し、iPhone に (Xcode を使用して) 再インストールすると、次のようになります。

  • デバイスは、プッシュを有効にするかどうかを尋ねません。
  • バッジはそこにあり、最後の番号を覚えています。

新しいデバイス (IPA をインストールしたもの) で同じアプリケーションを試してみたところ、許可を求められました。

デバイスにアプリケーションを完全に忘れさせるにはどうすればよいですか?

ありがとう

4

6 に答える 6

38

Apple のドキュメントから iOS 7 以降用に更新:

iOS 7 以降では、プッシュ対応アプリがプッシュ通知に初めて登録するときに、iOS はユーザーにそのアプリの通知を受け取るかどうかを尋ねます。ユーザーがこのアラートに応答すると、デバイスが復元されるか、アプリが少なくとも 1 日アンインストールされない限り、再度表示されることはありません。

アプリの初回実行をシミュレートする場合は、アプリを 1 日アンインストールしたままにしておくことができます。次の手順に従って、実際に 1 日も待たずに後者を達成できます。

  1. デバイスからアプリを削除します。
  2. デバイスの電源を完全にオフにしてから、再びオンにします。
  3. [設定] > [一般] > [日付と時刻] に移動し、1 日以上先の日付を設定します。
  4. デバイスの電源を完全にオフにしてから、再びオンにします。

iOS 5 および iOS6 の場合:

バックアップからデバイスを復元して、プッシュ通知のアクセス許可アラートをリセットします (r. 11450187)。これを効率的に行うための手順は次のとおりです。

  1. Xcode オーガナイザーを使用して、アプリをデバイスにインストールします。重要なのは、アプリを実行せずに初めてインストールすることです。
  2. iTunes を使用してデバイスをバックアップします。
  3. アプリを実行します。プッシュ通知のアクセス許可アラートが表示されます。
  4. プッシュ通知のアクセス許可アラートをリセットする場合は、最初の手順で作成したバックアップからデバイスを復元します。

https://developer.apple.com/library/content/technotes/tn2265/_index.html

于 2013-07-10T00:28:17.067 に答える
27

これには、システム時刻を 2 日前に設定し、デバイスを再起動してから、システム時刻を現在に戻すという回避策があります。iOS は、アプリケーションごとに 1 日 1 回だけプッシュの許可を求めるように設計されています。

iOS でのプッシュ通知許可アラートのリセット プッシュ対応アプリがプッシュ通知に初めて登録するとき、iOS はユーザーにそのアプリの通知を受け取るかどうかを尋ねます。ユーザーがこのアラートに応答すると、デバイスが復元されるか、アプリが少なくとも 1 日アンインストールされない限り、再度表示されることはありません。

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

http://developer.apple.com/library/ios/#technotes/tn2265/_index.html

于 2012-09-11T13:01:37.550 に答える
2

まず第一に、iOS記憶push settings,badge値とあなたが取得していないことに関係はありませんpush notification。他に問題があると確信しています。はい、アプリの価値をiOS覚えていpush settingsます。badgeデバイスに最初にインストールするときに、プッシュ確認を求めます。badge呼び出すことで値をリセットできますsetApplicationIconBadgeNumber:

リセットしたい場合push settingsは、すべてsettingのデバイスをリセットすることで実行できます。

于 2012-09-11T12:51:16.413 に答える
0

アプリの初期化コードがある場合 (たとえば、ドキュメント フォルダーに使用可能なデータベースがない場合にデータベースをコピー/初期化するため、再インストールされていることがわかります)、バッジ カウントをゼロにリセットできます。

繰り返しますが、ユーザーがパッケージから db ファイルを手動で削除している場合、またはアプリにそのような初期設定がない場合、これは失敗する可能性があります。

于 2013-09-20T11:51:57.753 に答える
0

次の手順に従って、アプリの初回実行を刺激します。

1)。デバイスからアプリを削除します。

2)。デバイスの電源を完全にオフにしてから、再びオンにします。

3)。[設定] > [一般] > [日付と時刻] に移動し、1 日以上先の日付を設定します。

4)。デバイスの電源を完全にオフにしてから、再びオンにします。

于 2013-10-10T23:55:44.203 に答える