Xcode не выполняет ввод кода, даже если присутствуют ключи, сертификаты и профили, а идентификаторы совпадают.

конфиг проекта:

  • CODE_SIGN_IDENTITY = "iPhone Developer: Maarten Billemont (9V38BLC46F)";
  • PROVISIONING_PROFILE = "6A477BC7-051A-4FE4-B285-E6E658937C24";

профиль:

profile.mobileprovision.plist — это содержимое plist профиля настройки мобильных устройств:

$ PlistBuddy -c 'Print :Name' profile.mobileprovision.plist
iOS Team Provisioning Profile: *

$ PlistBuddy -c 'Print :UUID' profile.mobileprovision.plist
6A477BC7-051A-4FE4-B285-E6E658937C24

$ PlistBuddy -c 'Print :DeveloperCertificates' profile.mobileprovision.plist | grep -a Maarten
QTZ8SQGT6H1907U0iPhone Developer: Maarten Billemont (9V38BLC46F)10U

$ PlistBuddy -c 'Print :DeveloperCertificates:1' profile.mobileprovision.plist | openssl md5
cc0e202ff8be100352e04a4e9cc8763a

$ openssl md5 < ios_development.cer
cc0e202ff8be100352e04a4e9cc8763a

$ openssl x509 -inform der -subject -noout < ios_development.cer
subject= /UID=QTZ8SQGT6H/CN=iPhone Developer: Maarten Billemont (9V38BLC46F)/OU=7PCL8KGYD3/O=Tristan Interactive Inc./C=CA

Брелок:

  • Общее название: iPhone Разработчик: Maarten Billemont (9V38BLC46F)
  • Этот сертификат действителен.
  • Этот сертификат имеет связанный закрытый ключ.
  • Этот сертификат и его закрытый ключ находятся в цепочке ключей по умолчанию.

результат сборки:

Check dependencies

Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“iOS Team Provisioning Profile: *”) were found.
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 7.1'

вопрос

Что может быть причиной этой ошибки кодового знака? Какую еще информацию я могу собрать для диагностики проблемы? Могу ли я как-то узнать точную команду codesign, используемую для перепроверки, используя точные идентификаторы из конфигурации проекта? Как он определяет, на какой брелок смотреть? Могу ли я запустить его в режиме отладки/диагностики/подробности?


person lhunath    schedule 10.04.2014    source источник
comment
Часто бывает полезно перейти к настройкам и обновить их, загрузить последние профили и прочее из центра разработки iOS в локальный кеш XCode, в дополнение к другим предложениям.   -  person RobP    schedule 10.04.2014
comment
@RobP, хотя это волшебное исправление иногда помогает, я знаю, что у меня установлены правильные и актуальные профили, ключи и сертификаты, как указано в вопросе. Обновление, к сожалению, ничего не меняет.   -  person lhunath    schedule 10.04.2014
comment
ну ладно, сначала нужно попробовать самые простые вещи. Я полагаю, вы уже осмотрели свой брелок до тошноты?   -  person RobP    schedule 11.04.2014


Ответы (1)


В сообщении об ошибке довольно хорошо объясняется, что указанный сертификат профиля подготовки и пара закрытого ключа не существует в вашей цепочке ключей. Дважды проверьте сертификат, который вы выбрали для профиля prov. Загрузите его и снова поместите в свою связку ключей. Затем перезагрузите компьютер.

person mownier    schedule 10.04.2014
comment
Извините, но из вопроса видно, что профиль обеспечения ссылается на сертификат 9V38BLC46F, а также указывает, что этот сертификат присутствует вместе с его закрытым ключом в цепочке ключей по умолчанию. - person lhunath; 10.04.2014
comment
все равно я бы удалил сертификаты, скачал их и заново. Может они устарели? - person Marcal; 10.04.2014
comment
Они не устарели. Они действительны, как говорится в вопросе. Они также были недавно добавлены. Удаление и повторное добавление или перезагрузка не имеют значения. - person lhunath; 10.04.2014
comment
Можете ли вы проверить, какой сертификат вы выбрали для профиля prov (профиль iOS Team Provisioning: *) на сайте разработчика? Профиль prov управляется или генерируется Xcode? Вы можете вручную создать профили разработки, производства и специальные профили с вашим действительным сертификатом. Затем загрузите его. - person mownier; 11.04.2014