Xcode 8.0 Automatically Manage Signing behaviour

With the release of Xcode 8, Apple introduced a new way of managing the signing configuration. Now you have two options Manual and Automatic.

This new Automatic Signing doesn't work the same way as it did in previous Xcode versions. Before, when you set Automatic provisioning profiles, Xcode was using the first provisioning profile and certificate in your computer that matches the entitlements and bundle identifier that you were trying to use.

In Xcode 8, Automatic Signing is going to manage profiles, entitlements and certificates for you, but only for Development. If you select automatic, you are forced to use Development signing and Xcode-created provisioning profiles.

On the WWDC 2016 (Session 401 - What's new in Xcode app signing) they explain this new signing method and describe some 'Best Practices'. When you are building for distribution and using Automatic Signing or Manual you should Archive for Development and then export (from the organizer or the command line tools xcodebuild -exportArchive) as Distribution. The organizer will re-sign your app for Distribution even if it was archived for Development.

The other issue that you describe, "Missing Push Notification Entitlement" is because Xcode 8 has changed the way it applies entitlements. With previous versions of Xcode, you didn't have to explicitly add the APS Environment entitlement, it was enough if your provisioning profile had that entitlement. Make sure that you have the Push Notification capability enabled in the Capabilities tab, and check that there are no errors there.

(Edit: this new behavior is intentional and described in the Xcode 8 release notes: https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-DontLinkElementID_44)

Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor’s Capabilities pane, or manually add the entitlement to your entitlements file. (28076333)