Xcode 4: Продолжайте проверять ошибочный код при сборке

Я создаю свое приложение с правильным сертификатом распространения и создаю архив, чтобы отправить его в Apple.

После проверки он продолжает выдавать мне эту ошибку о неудачной проверке.

Когда я смотрю журнал, появляется сообщение об ошибке:

Приложение не прошло проверку кода. Подпись недействительна или не подписана сертификатом распространения iPhone. (-19011)

Есть идеи, как я могу это исправить?

Спасибо,

JH

PS: Использование Xcode 4.2


person Jetheat    schedule 02.09.2011    source источник


Ответы (3)


Я сегодня столкнулся с этой проблемой. Решение №2, приведенное ниже, устранило мою проблему, но вот список вещей, которые можно попробовать. Если у кого-то еще есть предложения, пожалуйста, добавьте их в комментарии!

  1. Убедитесь, что в названии вашего продукта (и имени пакета?) нет пробелов или специальных символов.
  2. Убедитесь, что все ваши производственные цели (например, Ad Hoc и App Store) имеют действительные профили, выбранные для кодовой подписи.
  3. Выберите явные профили, а не подстановочные знаки "Разработчик iPhone" или "Распространение iPhone".
  4. Убедитесь, что срок действия используемого вами профиля не истек.
  5. Удалите просроченные профили из вашей связки ключей
  6. Удалите повторяющиеся профили из связки ключей
  7. Если у вас установлено несколько версий XCode, используйте команду «xcode-select -switch [path]», чтобы убедиться, что у вас активна нужная версия.
  8. Используйте абсолютные пути для "Путь к продуктам сборки", в частности, никогда не используйте ".."
  9. Откройте файл .pbxproj в текстовом редакторе и убедитесь, что все ваши цели используют правильный профиль. По какой-то причине у меня была цель распространения x86, и она относилась к старому профилю. Искать PROVISIONING_PROFILE=12345678-blah-blah-blahblah
  10. Дважды проверьте схему архивации, чтобы убедиться, что вы выбрали правильную конфигурацию сборки.

Гораздо более сложные исправления, на которые могут потребоваться часы:

  • Полностью удалите сертификат и профиль, а затем повторно загрузите их.
  • Удалите свою специальную цель и создайте ее заново с нуля (своего рода последнее усилие)
  • Создайте новый сертификат и начните заново
  • Обновитесь до последней небета-версии XCode (4.1, когда я набираю это; бета-версии не могут использоваться для создания сборок дистрибутива)
person AndrewS    schedule 26.09.2011

Совершенно уверен, что вы пока не можете создавать архивы для отправки с помощью xcode 4.2. Только xcode 4.1.

person crackity_jones    schedule 02.09.2011
comment
Вполне возможно. Суть в том, что это напрасная трата усилий, поскольку его нельзя будет отправить в магазин приложений, поэтому вам следует сосредоточиться на установке 4.1 и сборке с ней. Если только вы не дождетесь выхода версии 4.2. - person crackity_jones; 02.09.2011
comment
Так получилось, что у меня была пара разработчиков, которые отправили приложения до версии 4.2 в Apple. Так что я не думаю, что в этом есть проблема. - person Jetheat; 02.09.2011
comment
Вы можете собирать и архивировать с помощью 4.2, просто iTC не примет ваш двоичный файл. Но да, я согласен, если вы захотите отправить приложение в AppStore, это будет потрачено зря, просто сделайте это с помощью 4.1. - person Filip Radelic; 03.09.2011

Я получил это при случайной проверке моего архива с использованием профиля подготовки разработчика вместо профиля подготовки распространения.

person benvolioT    schedule 07.10.2011