Skip to main content

Reset push notification settings for app



I am developing an app with push notifications. To check all possible ways of user interaction, I'd like to test my app when a user declines to have push notifications enabled for my app during the first start.





The dialog (initiated by registerForRemoteNotificationTypes ), however, appears only once per app. How do I reset the iPhone OS's memory of my app. Deleting the app and reinstalling doesn't help.


Comments

  1. Technical Note TN2265: Troubleshooting Push Notifications


    The first time a push-enabled app
    registers for push notifications, iOS
    asks the user if they wish to receive
    notifications for that app. Once the
    user has responded to this alert it is
    not presented again unless the device
    is restored or the app has been
    uninstalled for at least a day.

    If you want to simulate a first-time
    run of your app, you can leave the app
    uninstalled for a day. You can achieve
    the latter without actually waiting a
    day by setting the system clock
    forward a day or more, turning the
    device off completely, then turning
    the device back on.

    ReplyDelete
  2. I have wondered about this in the past and came to the conclusion that it was not actually a valid test case for my code. I don't think your application code can actually tell the difference between somebody declining notifications the first time or later disabling it from the iPhone notification settings. It is true that the user experience is different but that is hidden inside the call to registerForRemoteNotificationTypes.

    Calling unregisterForRemoteNotifications does not completely remove the application from the notifications settings - though it does remove the contents of the settings for that application. So this still will not cause the dialog to be presented a second time to the user the next time the app runs (at least not on v3.1.3 that I am currently testing with). But as I say above you probably should not be worrying about that.

    ReplyDelete
  3. The plist:
    /private/var/mobile/Library/RemoteNotification/Clients.plist

    ... contains the registered clients for push notifications. Removing your app's entry will cause the prompt to re-appear

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?