This is Devhints.io cheatsheets — a collection of cheatsheets I've written.

# iOS Provisioning Profiles

### Types of profiles

- Development - deploy to an iPhone via XCode
- Adhoc - deploy via testflightapp.com
- Appstore - only used for submitting to the app store

### Requirements

What | Dev | Adhoc | Appstore
--- | --- | --- | ---
CSR file |  | √ | √
Device UDIDs | √ | √ |
Developers list | √ |  |

### Obtaining a CSR file

Needed for Adhoc & Appstore builds.

- Open Keychain Access.app
- Keychain Access menu -> Certificate Assistant menu -> Request a certificate…
  - User email address is your email
  - Common name is your name
  - CA Email address is blank
  - Request is Saved to disk

### Get the `.cer` files

Needed for Adhoc & Appstore builds.

- in the iOS dev portal, go to Certificates, and download the certificate.
  Install it on the dev machine.

### Obtaining device UDIDs

Needed for Dev and Adhoc builds.

- via iTunes: http://whatsmyudid.com
- via XCode: cmd+shift+2 (Organizer), Devices

## For developers

Don’t ever ask Xcode to Fix issue… for you.

### Using a provisioning profile

No need to use `.mobileprovision` files since XCode 5.

- Open the `*.mobileprovision` file using Finder
- XCode Project -> Build settings tab -> Code signing section -> Provisioning Profile section
  - Set Debug to the development profile
  - Set Release to the ad-hoc profile

### Building an .ipa (Adhoc or Appstore)

- In the toolbar, select “iOS Device” as the target
- Product menu -> Archive
- In the Organizer (Cmd+Shift+2) -> Archives tab -> Distribute… button

Devhints.io cheatsheets is a collection of cheatsheets I've written over the years. Suggestions and corrections? Send them in. I'm Rico Sta. Cruz. Check out my Today I learned blog for more.