Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between an Xcode wild card and a com.domain.name App ID?

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? enter image description here

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?

like image 899
user3580117 Avatar asked Apr 28 '14 19:04

user3580117


People also ask

When should I use wildcard app ID?

A: You should use a Wildcard App ID for all apps and app targets that do not enable app-specific capabilities.

What is app ID Xcode?

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.

What is the difference between app ID and bundle ID?

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.

What is XC wildcard?

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.


2 Answers

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.

like image 165
Almo Avatar answered Sep 27 '22 23:09

Almo


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.

like image 32
Rich Avatar answered Sep 28 '22 00:09

Rich