Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is application ID used by Xcode when building/signing the application?

iOS Provisioning files make reference to the Apple application ID (of the form "A1A2A3A4A5"). Most often, the DNS form of the application is replaced with a star (*).

My understanding is that the provisioning profile is stored in the iOS development device and is not used by Xcode. Thus, when building/signing the application, how can Xcode include the app ID into the executable file ? The only information Xcode has is the "Bundle Identifier", which is of the form "com.mycompany.myapp" - but there is no App ID, thus there is no way to add the app ID at this stage.

Does anyone know how this works. I feel that many people use those tools (as I do) without really knowing how it's made inside.

Many Regards, Apple92

like image 866
user255607 Avatar asked Nov 24 '10 17:11

user255607


1 Answers

An iPhone application is not just an executable, it's a bundle (like a directory) that contains the executable, but also resources (like nibs or images) and in particular contains a small plist manifest file with details about your application - including the application ID. The provisioning profile is also included in this application bundle.

A device also maintains a list of provisioning profiles it has installed, but the profiles can be in the application as well and are checked against the application plist file to make sure everything matches.

like image 76
Kendall Helmstetter Gelner Avatar answered Oct 03 '22 06:10

Kendall Helmstetter Gelner