Unable to tick both "Software" and "Service" boxes when creating a certificate

I am trying to create a production certificate for my iOS app, with Push Notifications enabled.

So when I go to "Create a New Certificate",

Certificates, Identifiers & Profiles > Create a New Certificate

I tick this checkbox under "Software":

iOS App Development
Sign development versions of your iOS app.

However, when I scroll down to "Services" and check this checkbox:

Apple Push Notification service SSL (Sandbox & Production)
Establish connectivity between your notification server, the Apple Push Notification service sandbox, and production environments to deliver remote notifications to your app. When utilizing HTTP/2, the same certificate can be used to deliver app notifications, update ClockKit complication data, and alert background VoIP apps of incoming activity. A separate certificate is required for each app you distribute.

It then removes the other checkbox! Indicating that I'm unable to check both at the same time.

Why is this and how can I fix it? I need both ticked as my certificate is for a production app with push notifications.

PS: I only have one development Certificate in my account at the moment.

Answered by DTS Engineer in 640075022

I need both ticked as my certificate is for a production app with push
notifications.

You are mixing up two separate digital identities:
  • When you sign the code in your app, you need a code signing digital identity. For example, if you’re creating a signing identity for development, you’d choose Apple Development and if you’re creating a singing identity, you’d choose Apple Distribution.

  • If you want to set up a push provider that connects to APNS, you need a completely different digital identity, a TLS client identity. To create this you’d choose Apple Push Notification service SSL (…).

You can’t have a single digital identity that works for both tasks.

Also, if i create the certificates separately, the APN certificate
doesn't come up when creating a Provisioning Profile

Right, because provisioning profiles only make sense in the context of code signing.

To create a profile for an app that uses push notifications, first set the Push Notifications capability on your the App ID and then create a profile from that App ID.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
Also, if i create the certificates separately, the APN certificate doesn't come up when creating a Provisioning Profile (only the iOS distribution does)
Accepted Answer

I need both ticked as my certificate is for a production app with push
notifications.

You are mixing up two separate digital identities:
  • When you sign the code in your app, you need a code signing digital identity. For example, if you’re creating a signing identity for development, you’d choose Apple Development and if you’re creating a singing identity, you’d choose Apple Distribution.

  • If you want to set up a push provider that connects to APNS, you need a completely different digital identity, a TLS client identity. To create this you’d choose Apple Push Notification service SSL (…).

You can’t have a single digital identity that works for both tasks.

Also, if i create the certificates separately, the APN certificate
doesn't come up when creating a Provisioning Profile

Right, because provisioning profiles only make sense in the context of code signing.

To create a profile for an app that uses push notifications, first set the Push Notifications capability on your the App ID and then create a profile from that App ID.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
Unable to tick both "Software" and "Service" boxes when creating a certificate
 
 
Q