These have baffled me ever since I signed up for developers account!
I Need to Know which one to use when I submit my app to the store?
Also in target > build settings > code signing > provisioning Profile are those values as shown in the image, which one do I pick to submit my app?
The com.domain.name
or wild card?
And lastly what in the heckaroo is the com.domain.name
used for and what's its importance?
A: You should use a Wildcard App ID for all apps and app targets that do not enable app-specific capabilities.
Android. We use the Application ID (package name) to identify your app inside our system. You can find this in the app's Play Store URL after 'id'. For example, in https://play.google.com/store/apps/details?id=com.company.appname the identifier would be com.
An App ID is a string used to identify one or more apps from a single development team. The string consists of two parts, the Team ID and the bundle ID separated by a period (.). The Team ID is supplied by Apple, while the bundle ID is supplied by the developer.
Xcode create "XC Wildcard" to be used for debugging so it matches all app id's. change deployment configuration from debug to release and Xcode will create a provisioning profile with your app id.
Wild card ids are for development purposes only. Suppose you're working on an app, and don't know what its final name will be. You use the wildcard app id until you've named it.
Once you've named it, you do the com.domain.name one for submission.
These must be unique across the entire iOS ecosystem, which is why they work this way. Provided no two companies have the same name and product name, there will be no collisions.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With