リモート通知に登録した後、上の画像のようなアラートビューを表示することができました。しかし、プロジェクトアプリを削除して再度ビルドすると、表示されなくなります。
同じデバイスにアラートビューを再度表示する機会はありますか?
NSUserDefaultsにデバイストークンを一時的に保存できなかったため、デバイストークンを再度取得するのが好きです。
起動時に、アプリは次の方法でトークンをリクエストする必要があります。
- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types
デリゲートメッセージでiOSからトークンを取得します。
– application:didRegisterForRemoteNotificationsWithDeviceToken:
iOSは、必要な場合にのみ通知を許可するようにユーザーに促します。リモート通知がアプリに対してすでに承認されている場合、アラートは表示されず、アプリは有効なトークンを取得します。
ネットでは、アラートを強制することはできませんが、強制する必要はありません。
デバイスからアプリを削除します。
デバイスの電源を完全にオフにしてから、再びオンにします。
[設定]> [一般]> [日付と時刻]に移動し、1日以上前の日付を設定します。
デバイスの電源を完全にオフにしてから、再びオンにします。
参照: https://developer.Apple.com/library/ios/technotes/tn2265/_index.html
テストの必要に応じて、プッシュ通知のアクセス許可ダイアログを再度表示するという質問に対処します。これは確かに回避策ですが、次のようになります。
プッシュ通知を広範囲に使用するアプリでの作業を終えたばかりで、通常の順列をすべて試しても成功しませんでした...この問題を回避する最も合理的な方法は、デバイスをテスト専用に使用することであることに最終的に気付きました(つまり、ローエンドのiPod Touch)。
ダイアログをリセットするには、[設定]> [一般]> [リセット]> [すべてのコンテンツと設定を消去]を実行します。デバイスのセットアッププロセスを実行し、アプリを再インストールして実行します。
これは、開発/テストの過程で必要に応じて、オンデマンドで「最初の起動」エクスペリエンスをテストするために私が見つけた唯一の方法でした。また、プロセスに多くの追加の多様性を追加しました。
これらすべてに頼る必要はなかったはずですが、それが本当の天の恵みであることがわかったので、私はとてもうれしく思います。 FWIW。
[追記将来的には、OSのベータ版のテストなどにも役立つでしょう。]
パッケージIDを一時的に変更します。
com.mycompany.app-> com.mycompany.app1
はい。
http://developer.Apple.com/library/ios/#technotes/tn2265/_index.html
アプリの初回実行をシミュレートする場合は、アプリを1日アンインストールしたままにしておくことができます。システムクロックを1日以上進め、デバイスを完全にオフにしてから再びオンにすることで、実際に1日待つことなく後者を実現できます。