Ответ 1
Прежде всего, выбор профиля инициализации в Xcode вводит в заблуждение; здание в Xcode фактически не имеет ничего общего с профилями! Фактически, Xcode просто сопоставляет сертификат открытого ключа в профиле с одним в вашей цепочке ключей, а затем использует закрытый ключ для подписи исполняемого файла. Это подписание стандартного исполнения Mach-O. Именно поэтому они изменили его в Xcode 5, чтобы быть более четким. То же, что и ошибки в профилях (идентификация подписи не найдена) - это означает, что Xcode не смог найти закрытый ключ, соответствующий любому из открытых ключей в профиле.
Ваш личный сертификат разработчика - это стандартный материал PKI; ваш Mac отправляет запрос Apple на сертификат таким образом, что Apple не знает ваш закрытый ключ (аналогично запросам SSL-сертификата). Apple генерирует сертификат, а цепочка ключей сопоставляет его с исходным запросом, предоставляя вам общедоступные и закрытые ключи для сертификата. Когда профиль создается для отдельного разработчика, этот открытый ключ разработчика указан. Когда создается профиль команды, включаются открытые ключи для всех выбранных членов команды. Это позволяет членам команды подписывать исполняемый файл, но имя подписывающего лица будет именем команды, а не отдельным.
Когда iOS запускает любой исполняемый файл, он сначала проверяет подпись. Если подпись подписана Apple App Store, она запускается.
Если нет, тогда он проверяет установленные профили подготовки. Профили включают: 1. Список сертификатов разработчика 2. Идентификатор приложения 3. Права на предоставление (например, iCloud, Game Center и т.д.). 4. Список UDID устройств 5. Все это завершено и подписано Apple.
Профиль проверяется, чтобы убедиться, что он был подписан ключом Apple (с использованием открытого ключа Apple). Затем он подтверждает, что текущий идентификатор UDID устройства находится в списке. Он также проверяет соответствие идентификатора приложения (хотя допускаются подстановочные знаки). Затем он проверяет подпись Mach-O на список открытых ключей сертификата разработчика. Если какой-либо из них соответствует, исполняемый файл запускается и получает перечисленные права. Если нет, он заблокирован.
Я настоятельно рекомендую открыть файл .mobileprovision в текстовом редакторе; вы узнаете много!