views:

1308

answers:

6

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.

A: 

If you want unregister your app for push notification use the unregisterForRemoteNotifications in your UIApplication instance:

- (void)unregisterForRemoteNotifications

(see here)

Yannick L.
That's not what the original poster is asking for.
Lee
+2  A: 

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.

kharrison
I was hoping for a better answer, but I guess there just isn't one. Thanks anyway!
hanno
A: 

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

Erik Johnson
Interesting. But this is for jailbroken systems only, right?
hanno
useless answer if you develop for the App Store
Sam V
A: 

Did you ever find a way to do this?

Dave P
No, and I don't want to jailbreak it...
hanno