When I install my iOS application using Xcode for the first time, my iPhone asks whether I want to enable push notifications.
I am able to send a notification, and the badge shows a number that I sent.
When I delete the application from my iPhone and rebuild it in Xcode and reinstall it again on my iPhone (using Xcode):
I tried the same application on a fresh device (installed the IPA) and it asked me for permissions.
How can I completely make my device forget the application?
There is a workaround for this that involves setting the system time ahead by two days, rebooting the device, and then changing the system time back to the present. iOS is designed to only ask permission for push once a day per application.
Resetting the Push Notifications Permissions Alert on iOS 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.
http://developer.apple.com/library/ios/#technotes/tn2265/_index.html