Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When to use an explicit app ID versus a wildcard ID?

What are the exact advantages of creating explicit App ID and Wild card ID? I saw that if we are creating a bundle of apps, we can create a wildcard App ID, otherwise explicit ID is good etc. But I am a bit confused and want to know more details about the exact advantages of both types.

If I have a free version first(1.0) and then want to submit priced version of same app with new features(2.0), what should be the right way?

Thanks.

like image 722
Getsy Avatar asked Nov 07 '09 07:11

Getsy


2 Answers

Provisioning profiles with Wildcard App IDs are recommended for most iPhone OS development because a single Wildcard App ID can be used to build and install most applications, including the sample code projects provided in the iPhone Reference Library. Wildcard App IDs are created by entering an asterisk in the Identifier portion of your App ID. The wildcard asterisk character must be the last character in the App ID string. If you use a Wildcard App ID, remember to replace the asterisk with an appropriate string using the reverse-DNS format when you fill in the Bundle Identifier field in your Xcode project.

Example App ID: ABCDE12345.*

ABCDE12345 is the Bundle Seed ID (generated by Apple) * is the Bundle Identifier of the App ID. When you enter the Bundle Identifier in your Xcode project you need to replace the asterisk with an appropriate string using the reverse-DNS format

Example App ID: ABCDE12345.com.foocompany.*

ABCDE12345 is the Bundle Seed ID (generated by Apple) com.foocompany.* is the Bundle Identifier of the App ID and the Bundle Identifier in your Xcode project must start with ‘com.foocompany.’ and the asterisk can be replaced with a string of your choosing

The second type of App ID is called an Explicit App ID. This type of App ID restricts a provisioning profile to only allow the installation of one application. Explicit App IDs are required to enable certain iOS features such as In App Purchase and Apple Push Notification service in your applications. Explicit App IDs are created by entering a specific string in the Identifier portion of your App ID. The recommended practice is to use a reverse-DNS formatted string for the Bundle Identifier portion of the App ID.

Example App ID: ABCDE12345.com.foocompany.appname

ABCDE12345 is the Bundle Seed ID (generated by Apple) com.foocompany.appname is the App ID's Bundle Identifier and needs to be the same as your app’s Bundle Identifier If you currently have an app that uses a wildcard App ID and would like to update your app to use an explicit App ID please see Technical Q&A QA1680, 'Updating from a wildcard App ID to an explicit App ID'.

Important Note: Change the "yourcompany" in your app’s default Bundle Identifier to the actual name of your company. This helps to avoid issues when you try to upload your app to the App Store.

like image 138
Zar E Ahmer Avatar answered Sep 18 '22 15:09

Zar E Ahmer


You should choose a wildcard App ID if you do not plan to use push notifications and/or in App purchase. In your case, since you plan to start with a free version, then to provide a priced new version you should choose an explicit App ID reflecting the name of your application, and use in App purchase to allow people to buy the contents related to your priced version. This is what Apple is now recommending. Basically, the folks at Apple do not want us to develop a light and a priced version. They want a single App that can offer free contents and priced contents through in App purchase.

like image 37
Massimo Cafaro Avatar answered Sep 17 '22 15:09

Massimo Cafaro