Apple Push Notifications - App store submission

2019-06-01 05:11发布

问题:

I am using a third party library which has code for push notifications. But in our code, we don't have anything related to push notifications. So my profile is not enabled with APNS. When I try to push this to iTunes Connect for BETA TESTING, I'm getting below email from Apple. My question now is CAN I SUBMIT MY APP WITH APNS ENABLED even when I am not using push notifications? Will Apple reject my app if I do so?

Dear developer, We have discovered one or more issues with your recent delivery for "Myapp Beta". Your delivery was successful, but you may wish to correct the following issues in your next delivery: Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. If your app does not use the Apple Push Notification service, no action is required. You may remove the API from future submissions to stop this warning. If you use a third-party framework, you may need to contact the developer for information on removing the API. After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect. Regards, The App Store team

回答1:

1) Click on your project in Xcode (near the upper left hand corner of Xcode)
2) then click on Capabilities (near the top in the middle of Xcode)
3) Scroll down to Background Modes and expand to reveal the modes
4) Select Remote Notifications.

Doing this will give you the push entitlement and therefore the app submission should be ok. Apple won't know you are not actually making use of push notifications, they will just be running a tool which detects you have push notification handling code in the app but don't have the push entitlement. Doing the above 4 steps should add the entitlement.

Hopefully that should be enough, however you may also need to enable push notifications in your provisioning profile. That's easy to do, the best overall guide to push which tells you how to do that is here: http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1