In setting up CloudKit remote notifications, I enabled the "Remote notifications" capability which adds the remote-notification field to my Info.plist. But then I get this error in the console:
Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x17db9850 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}
And this error is emailed to me when I submit to iTunes Connect:
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.
Ok, so I am supposed to update my provisioning profile - but when I attempt to do that and enable Push Notifications, it requires me to create SSL certificates to use on my server. I am using CloudKit though - I don't have a server. How do I update my provisioning profile?
Despite the error, I submitted my app to the app store and it was approved just before Thanksgiving. I told them about the error when I submitted. They didn't respond telling me anything about the error, but my app was approved.
Now I am working on an update, and the error has vanished for me. I didn't do anything that I know would have fixed it. It really seems like just an error in their system.
For anyone who gets this error, if you looked into it and things seem right, just press on. Its probably just an issue on Apple's side and doesn't seem to negatively affect the app's functionality or likelihood to be approved.