I also had this problem with a Cordova app and after doing a bit of reading it seems that this is a common issue nowadays.
WHY DID IT HAPPEN?
Since you mention that your app was already approved using push notifications, the most likely scenario is that the Provisioning Profile for your app was changed when submitting it to the AppStore. Perhaps you:
- rebuilt your project in XCode, or
- moved to another computer and forgot to tell XCode what the correct profile was, or
- somebody sat on your computer and changed it, or
This issue happens because permissions are gleaned through the provisioning profile. If you forget to link the provisioning profile for your app to an AppID that has the 'Push Notifications' entitlement (Note that XCode does this automatically by using the wildcard developer provisioning certificate by default) then you are likely to get this message until you sort out the permissioning.
HOW TO REMOVE THE NEED FOR PUSH NOTIFICATIONS IN CORDOVA APPS:
I was submitting a Cordova app when I got this message, and while the solution posted by @jlapoutre is enough to get your app approved, you want to continue benefiting from Cordova upgrades so the best thing is to take advantage of conditional compilation (ie triggering the #ifndef DISABLE_PUSH_NOTIFICATIONS
directive which tells XCode to compile you app with this bit of code left out).
Conditional compilation is also known as 'Preprocessor Macros' in XCode-speak. This is how the you can accomplish this graphically via the UI (note that this the way its done in XCode 6.1):
Hope this helps other people out there in same situation.