How to Deploy an App on an iOS Device
After an iOS app runs on a simulator, it’s ready to run on an actual device. However, Apple tries to carefully control the app development and distribution process. So, Apple has thrown in two additional hoops you must jump through before you can run an app on a real device.
You must be a paid Apple developer.
You must create a development provisioning profile for the device.
When you’re registered in the iOS Developer program, you need to request and get a developer certificate. This developer certificate contains information about the developers of the app (that is, about you) and is needed to sign any apps that you develop.
A provisioning profile then needs to be created that links information about the developers (that is, the developer certificate) with the app, via its app ID. A development provisioning profile then extends the provisioning profile to include the identity of the device on which the application will run via the unique device identifier (or UDID) of the device.
This development provisioning profile is then used to generate a provisioning file during the compilation process of an iOS app and is put on the device.
You can create certificates, provisioning profiles, and provisioning files in different ways. The old way was via a combination of the Keychain Access utility and the Apple Developer Portal. You had to first create a certificate signing request (or CSR) by using the Keychain Access application on your Mac, which is stored in the Utilities folder.
The final step, creating the development profile, is done via the web at the iOS Developer Center.