Bundle ID and Certificates

How to change Bundle ID in "Certificates, Identifiers & Profiles" (Edit your App ID Configuration) ?

Which certificate is needed for a free Mac application (.app) ? The application need only save\restore disk data (no extension, no wifi, no In-App Purchase, etc). A very simple basic 3 windows application (type math Calculator). Do I need set some "Capabilities" (App Services) ?

Answered by ssmith_c in 786185022

if you change the bundle ID in your Xcode target, and select "Automatically manage signing", Xcode will create the required certificate. If you're not requesting any managed entitlements, and it sounds like you are not, you wont' need a provisioning profile. If your app wants to save to disk, and it is sandboxed (which is a requirement for a Mac App Store app), you'll need to add an entitlement to punch through the sandbox - that's under Signing & Capabilities, File Access Type, User Selected File. When you archive your app in Xcode, it will lead you through the process and pick the correct type of certificate for the distribution method you choose.

Accepted Answer

if you change the bundle ID in your Xcode target, and select "Automatically manage signing", Xcode will create the required certificate. If you're not requesting any managed entitlements, and it sounds like you are not, you wont' need a provisioning profile. If your app wants to save to disk, and it is sandboxed (which is a requirement for a Mac App Store app), you'll need to add an entitlement to punch through the sandbox - that's under Signing & Capabilities, File Access Type, User Selected File. When you archive your app in Xcode, it will lead you through the process and pick the correct type of certificate for the distribution method you choose.

What is the relation between the Bundle ID in "Certificates, Identifiers & Profiles" and Bundle Identifier in Xcode "Target" "Signing & Capabilities"?

Those are the same thing.

Apple platforms uniquely identify an app by its bundled ID. The code signing machinery extends that slightly with what’s known as an App ID. An App ID consists of an App ID prefix, which is typically your Team ID, and your bundle ID. So if you’re working in Team ID SKMME9E2Y8 and your app’s bundle ID is com.example.waffle-varnish-o-matic, your App ID would be SKMME9E2Y8.com.example.waffle-varnish-o-matic

App IDs are registered with the Developer website. This registration process is tied to your team, so only one team can register a given App ID. It also checks that the bundle ID component of the App ID is unique.

The App ID is used to connect your app to its provisioning profile, and the provisioning profile is what allows your app to run on the device. See TN3125 Inside Code Signing: Provisioning Profiles for more about this.

All of the above ensures that only your team can run code with bundle ID, which is a critical security feature.

Or at least that’s how it works on iOS (-: On macOS you only need a provisioning profile if you claim a restricted entitlement [1]. If that’s the case, the whole App ID machinery kicks in. If not, you can choose any bundle ID you like and there is no associated App ID or provisioning profile, and so no need to touch the Identifiers and Profiles sections of Certificates, Identifiers, and Profiles.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Or publish via TestFlight.

Those are the same thing.

So I assume that Bundle ID in "Certificates, Identifiers & Profiles" must be copied in Xcode "Target" "Signing & Capabilities" ?

I do a mistake in the Bundle ID in "Certificates, Identifiers & Profiles" (developer web site). How can I change this Bundle ID ?

My apology: forget the last reply. Using the Remove button and re-enter the bundle name\ID solve the problem.

Bundle ID and Certificates
 
 
Q