Сертификаты, провижены и прочие грабли iOS разработки

Для начала давайте определимся

Провижен это такой файл, который закгужается с девелоерского сайта Apple и добавляется в среду разработки XCode

Девелоперский провижен — файл для определённого пекиджа com.company.SomeName или набора пекиджей com.company.* чтобы можно было компилировать, запускать и отлаживать прямо из XCode проект com.company.SomeName

Дистрибьюшен провижен — файл для определённого пекиджа com.company.SomeName или набора пекиджей com.company.* чтобы можно было отгружать публичный билд (Archive в .ipa файл или прямо в АпСтор).
Кстати, на дистрибьюшен провижине невозможно запустить или отлаживать продукт прямо в XCode. Надо дев и дистриб провижены переключать постоянно, или разрабатывать и отгружать на разных машинах! 😦

Кроме провиженов есть понятие персональный сертификат или айдентити которые добавляются в системный KeyChain.

Девелоперский Сертификат — сертификат только для зарегистрированных в Apple Developer людей (с Apple ID) для разработки и запуска на дивайсах из XCode. Притом для того чтобы человек может быть любым, даже не привязанным к комапнии выдавшей Девелоперский провижен, но лучше так не делать 🙂

Айдентити для дистрибьюции — это такой же девелоперский сертификат, но выданный на человека который является членом команды (указан в Control Panel Apple). Без такой айдентити невозможно собрать билд для Дистрибьюшен провижена!

Так что же надо и когда?

Чтобы отлаживать и разрабатывать (но без Store и InAppPurchase) прямо из XCode, для пекиджа com.aaa.bbb достаточно:

  1. Девелоперский Провижин для com.aaa.bbb
  2. Дивайс присутвует в файле этого Дев. Провижена для com.aaa.bbb
  3. Подойдет любой Девелоперский Сертификат

Чтобы компилить, отлаживать и получать InAppPurchase и прочие Store вещи прямо из XCode, для пекиджа com.aaa.bbb нужно:

  1. Девелоперский Провижен для com.aaa.bbb
  2. Дивайс присутвует в файле Девелопер Провижена com.aaa.bbb
  3. Девелоперский Сертификат выданный на сотрудника компании!

Чтобы отгрузить билд com.aaa.bbbb для AppStore нужны:

  1. Дистрибьюшен провижен для com.aaa.bbb
  2. Айдентити зарегистриррованного Apple Developer сотрудника компании.

Apple такой Яббл © #ЖизньБоль