The developers at my company were recently tasked with removing push notifications from an iOS app. We ran through push notification tutorials in reverse, removing anything that got mentioned, but still we would be asked for permissions for push notifications on app launch. We were unable to duplicate the ask for permissions when building to device from Xcode so we were left building ad-hoc distributions, and you had to reset the device each time you installed the IPA. On top of that our app is a media heavy app that has half a gig of resources, so we were wasting alot of time building ad-hoc builds.
We spent alot of time fiddling with provisioning profiles since we already searched the binary’s symbols looking for any reference to anything push notifications related and we were pretty confident the changes weren’t in the code. Eventually we had to just start ripping the app apart, removing bit by bit until the notification didn’t show up. The culprit was finally found, it was a call to -[UIApplication setApplicationIconBadgeNumber:]. I have no idea what this is, apparently it is related to push notifications. I never setup the push notifications so I had no idea to look here.
This was an unfortunate perfect storm of compounding complications arising from developing for a close embedded system… sad sad sad.