Xcode 4.3: операция Codesign не удалась (проверьте, что выбранное вами удостоверение действительно) - PullRequest
31 голосов
/ 22 февраля 2012

После установки Xcode 4.3 я не могу проверить и распространить приложение с помощью Организатора. Хотя сборка, подписание и проверка в Xcode в порядке, проверка в Организаторе завершается неудачно с сообщением в заголовке этого вопроса.

Во-первых, Xcode 4.3 может загружать профили обеспечения автоматически (есть опция в Организаторе), но он загружает только профили разработки и игнорирует профили распространения, как если бы их не было. ОК, я скачал и установил его вручную, и он появляется в органайзере. Затем я установил правильную идентификацию подписи кода как для проекта, так и для цели и использую профиль распространения, который соответствует сертификату распределения в моей цепочке для ключей. Затем я делаю Archive (build-sign-verify) и никаких ошибок, в журнале я вижу зеленые галочки для CodeSign и для шагов Verify. Выглядит хорошо, и архив появляется в органайзере.

И вот тут все идет не так, я просто выбираю Validate, выбираю новую версию, которую я только что подготовил в iTunes Connect, выбираю правильную идентификацию подписи кода, так же, как это было использовано для Archiving (на самом деле, в моем случае других вариантов нет) , он запрашивает логин / пароль iTunes как обычно, а затем говорит

Операция Codesign не удалась

Убедитесь, что выбранная вами личность действительна

Ааа !!! Зачем!? У него не было проблем при архивировании, тогда же подпись кода не работает при попытке отправки в AppStore. Ну, даже не отправляйте, а проверяйте перед отправкой. Так что эта проблема является локальной для моей машины. Те же самые подписи и проверки, которые успешно выполняются во время сборки, не выполняются в Организаторе ...

Я попробовал все, переустановил XCode, удалил / отозвал и заново выдал все сертификаты, удалил дублированные закрытые и открытые ключи из цепочки для ключей, поместил все сертификаты в одну цепочку для ключей "login", выпустил новые профили, установил Application Loader 2.5. 1 и так далее ... все равно не повезло.

Может быть, у меня есть некоторые остатки от предыдущих установок XCode? Или я должен обновить некоторые инструменты, чтобы органайзер работал правильно?

Между тем, если кто-нибудь знает другой способ загрузки двоичного файла в AppStore, поделитесь им. Я не мог понять, как это сделать с помощью Application Loader, когда он просит меня выбрать пакет для загрузки, все, что у меня есть, это архив xcode, созданный Xcode на этапе Archive. Как получить в руки iap или любой другой файл, который требуется от меня загрузчиком приложений?

Ответы [ 17 ]

30 голосов
/ 11 марта 2012

Я обнаружил, что Xcode 4.3.1 имеет серьезную проблему при проверке приложений с ресурсами в дереве каталогов в комплекте приложений.

Приложения могут проходить проверку в рамках процесса Xcode «Сборка для архива» - этопроисходит сбой только тогда, когда проверка выполняется через органайзер.

Потратив несколько часов на попытки отследить обычные проблемы с правами на подпись кода, я в конце концов заметил следующую строку в системной консоли при сбое экспорта:

3/10/12 2: 32: 48.450 PM [0x0-0x261261] .com.apple.dt.Xcode: / Пользователи / chris / Библиотека / Разработчик / Xcode / Archives / 2012-03-10 / Покрытие 3-10-12 2.32 PM.xcarchive / Продукты/Applications/Coverage.app/Tiles/T-Mobile-roam/4: Является ли каталог

Я провел день, пытаясь изолировать эту ошибку, и, наконец, прибил ее.

Подпись кода в XCode 4.3.1 при проверке для App Store или сохранении для дросселей распределения AdHoc, когда в вашем комплекте есть подкаталог, имя которого совпадает с именем его родительского каталога.

Например:

test/test/file.x -- FAIL
test/test2/file.x -- WORKS

Это кажется новым в Xcode 4.3.1 и, надеюсь, будет исправлено в ближайшее время.

Примечания: Эта тема кажется связанной: https://devforums.apple.com/message/630800

8 голосов
/ 26 февраля 2012

Я был оригинальным постером на форумах Apple Dev ...
https://devforums.apple.com/message/621193

Я также пытался довести это до сведения разработчиков AddThis:
https://www.addthis.com/forum/viewtopic.php?f=19&t=38292

Как уже упоминалось в других статьях, единственный способ предотвратить ошибку подписания кода - удалить файл ATResources.bundle из проекта.

Конечно, этот комплект содержитМногие из необходимых изображений для AddThis, помимо прочего, но ошибка больше не возникает.

Я надеюсь, что это поможет кому-то еще найти правильный способ решения этой проблемы.

2 голосов
/ 14 марта 2012

Проблема заключается в AddThis или явно ATResources.bundle в папке AddThis.

Итак, у вас есть два варианта:

  • Первый использует более старую версию Xcode для архивирования.

  • Второй - переместить все изображения внутри ATResources.bundle в папку и скопируйте содержимое Localizable.strings в ваши собственные Localizable.strings

    Затем откройте файл FBDialog.m и найдите «close.png», удалите его строка кода и заменить его на:

    UIImage * closeImage = [UIImage imageNamed: @ "close.png"];

Теперь вы готовы к архивированию.

Наконец, рассмотрите возможность сообщения об ошибке в https://bugreport.apple.com/

2 голосов
/ 31 мая 2012

В моем случае , это был поврежденный пользовательский фреймворк.

1 голос
/ 05 декабря 2013

Я столкнулся с этой проблемой в Xcode 5.0.2 (5A3005) с 2 совершенно отдельными папками, которые оказались названными одинаково.Я думаю, что любые две папки с одинаковым именем вызовут этот сбой.

1 голос
/ 04 октября 2012

нашел решение, оно действительно работает для меня. надеюсь, это поможет вам, ребята.

если проблема связана с Addthis, попробуйте выполнить команду

enter image description here

отметил, что внутри ATResources.bundle у вас есть папка с именем ATResources.

ATResources содержит именно те элементы копии (ADDTHIS.db, en.lproj, images), которые присутствуют в ATResources.bundle. поэтому мы можем просто удалить папку ATResources из ATResources.bundle.

для удаления, выберите файлы из ATResources.bundle и щелкните правой кнопкой мыши, покажите в окне поиска -> и удалите папку ATResources.

enter image description here

основная проблема заключается в том, что подкаталог в вашем пакете имеет то же имя, что и его родительский каталог.

:)

1 голос
/ 06 июля 2012

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

В моем конкретном случае это была проблема:

  • проблема: изображения / пакеты / 1/1 / img.png
  • решение: images / packs / pack_1 / 1 / img.png

Плавное плавание после этого. Это произошло в Xcode 4.3.3

1 голос
/ 17 августа 2012

У меня была та же проблема в моем проекте (в xcode 4.3.2), и по всем ответам я проверял любой файл .png, начинающийся с ._*, а также проверял папку и ее подпапку под другим именем.

Также проверил идентификатор подписи кода в соответствии с требованием, но не смог решить эту проблему.

После целых дней усилий, наконец, я нашел причину для ошибки "Операция упаковки завершилась" в моем проекте.

В моем случае я классифицировал About_us.h и About_us.m и по ошибке импортировал заголовочный файл, например #import "About Us.h" (пробел в середине).Поэтому, когда я загружаю приложение на устройство, оно успешно загружается, но когда я пытаюсь создать ipa с использованием архива, оно выдает мне ошибку и возвращает мне примерный размер App Store всего 143 кб.

Наконец, пока яизмените заголовок как #import "About_Us.h" и попробуйте сделать ipa Я получил реальный размер в правильном МБ.

Надеюсь, это кому-нибудь поможет.

1 голос
/ 15 апреля 2012

Я занимаюсь разработкой на Sencha 2. Ключевым моментом здесь является запуск системной консоли из приложения / утилиты и просмотр журнала ошибок при распространении.Это самый простой способ увидеть оскорбительный каталог.В Sencha2 это в / sdk / src / device / device.Хорошие вещи: все еще происходит в xcode 4.3.2

1 голос
/ 30 марта 2012

В моем пакете так много подкаталогов, имена которых совпадают с именами их родителей, поэтому я не смог проверить и отправить. Единственное решение, которое я нашел, это загрузить xcode 4.2.1 из центра разработчиков Apple и установить его рядом с xcode 4.3.2. Затем я использовал его для проверки и отправки.

...