The wildcard app ID (defined as *
) can be used for any bundle identifier (the one you set in Xcode).
If you app conforms to the following (taken from the Registering an App ID page in the Certificates, Identifiers & Profiles section of the developer portal):
If you plan to incorporate app services such as Game Center, In-App Purchase, Data Protection, and iCloud, or want a provisioning profile unique to a single app, you must register an explicit App ID for your app.
Then you need to specify an explicit App ID - the com.domain.name
you mentioned. This must match the bundle identifier of your app you set in Xcode.
The App ID is tied to the developer account (I believe it can be transferred) and this is unique per application. For example, say I set up an app with the App ID of com.stackoverflow.rich
, you could then not use that App ID.
The App ID must be an explicit App ID when finally submitting the app to the App Store.
When releasing for the App Store you need to set your App Store Distribution profile under Provisioning Profile -> Release. You can probably just press delete/backspace on the Code Signing Identity -> Release, and then the Automatic setting will pick up the correct certificate.
Whenever you use the Archive command (under Product), the Release build configuration is always used (unless you change it under the Scheme settings).
If you want more info about this have a read of the App Distribution Guide.
There's also a Technical Q&A on this topic as well.