Xcode 4.3: операция Codesign не удалась (убедитесь, что выбранный вами идентификатор действителен)
После установки Xcode 4.3 я не могу проверять и распространять приложение с помощью Organizer.
При построении, подписании и проверке в Xcode в порядке, проверка в Organizer завершилась с сообщением в заголовке этого вопроса.
Во-первых, Xcode 4.3 может автоматически загружать профили подготовки (там есть опция в Organizer), но загружает только профили развития и игнорирует профили распространения, как будто их нет. ОК, я скачал и установил его вручную, и он появляется в Organizer. Затем я устанавливаю правильную идентификацию подписи кода как для проекта, так и для цели и использую профиль распространения, который соответствует сертификату Distribution в моей цепочке ключей. Затем я делаю Archive (build-sign-verify) и никаких ошибок, в журнале я вижу зеленые галочки для CodeSign и для шагов проверки. Выглядит хорошо, и архив появляется в Organizer.
И если все пойдет не так, я просто выберите Validate, выберите новую версию, которую я только что подготовил в iTunes Connect, выберите правильную идентификацию подписи кода, то же самое, что было использовано для архивирования (на самом деле, в моем случае нет других вариантов), он запрашивает имя/пароль iTunes как обычно, а затем говорит
Не удалось выполнить операцию с кодами
Убедитесь, что выбранный вами идентификатор действителен.
Аааа!!! Зачем!? У него не возникало проблем при архивировании, тогда такая же подпись кода не работает при попытке отправить в AppStore. Ну, даже не отправляйте, а проверяйте, прежде чем отправлять. Так что эта проблема локальна для моей машины. То же самое подписание и валидация, которые успешны во время сборки, сбой в Organizer...
Я попробовал все, переустановил Xcode, удалил/отозвал и переиздал все сертификаты, удалил дублированные частные и открытые ключи из брелка, поместил все сертификаты в один "брелок" входа, выпустил новые профили, установил Application Loader 2.5. 1 и т.д.... до сих пор не повезло.
Может быть, у меня есть некоторые проблемы с предыдущими установками Xcode? Или что мне нужно обновить некоторые инструменты, чтобы обеспечить правильность работы Organizer?
Между тем, если кто-то знает другой способ загрузки бинарных файлов в AppStore, поделитесь им. Я не мог понять, как это сделать с помощью Application Loader, когда он просит меня выбрать пакет для загрузки, все, что у меня есть, это xcode-архив, созданный с помощью Xcode в шаге Archive. Как мне получить доступ к iap или любому файлу, который хочет получить от загрузчика приложения?
Ответы
Ответ 1
Я обнаружил, что Xcode 4.3.1 имеет серьезную проблему, проверяющую приложения с ресурсами в дереве каталогов в комплекте приложений.
Приложения могут проходить проверку в процессе Xcode "Build for Archive" - это происходит только при проверке проверки через Organizer.
После того, как вы потратили часы, пытаясь отследить обычные проблемы с подделкой кода, я в конце концов заметил следующую строку на системной консоли при сбое экспорта:
3/10/12 2: 32: 48.450 PM [0x0-0x261261].com.apple.dt.Xcode:/Пользователи/chris/Library/Developer/Xcode/Archives/2012-03-10/Coverage 3- 10-12 2.32 PM.xcarchive/Продукты/Приложения/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
Ответ 2
Я был оригинальным плакатом на форумах Apple Dev...
https://devforums.apple.com/message/621193
Я также попытался довести это до сведения разработчиков AddThis:
https://www.addthis.com/forum/viewtopic.php?f=19&t=38292
Как упоминалось в других сообщениях, единственный способ, которым я обнаружил, чтобы предотвратить сбой подписи кода, - удалить файл ATResources.bundle из проекта.
Конечно, этот комплект содержит много необходимых изображений для AddThis, помимо прочего, но ошибки больше не происходит.
Я надеюсь, что это поможет кому-то еще найти правильный способ решить эту проблему.
Ответ 3
Проблема заключается в 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/
Ответ 4
В моем случае это была поврежденная пользовательская инфраструктура.
Ответ 5
У меня так много подкаталогов на моем пакете, которые имеют то же имя, что и их родители, поэтому я не смог проверить и отправить. Единственное решение, которое я нашел, - загрузить xcode 4.2.1 из Apple Developer Center и установить его рядом с xcode 4.3.2. Затем я использовал его для проверки и отправки.
Ответ 6
Я разрабатываю Sencha 2. Ключевым моментом здесь является запуск System Console из Apps/Utilities и просмотр журнала ошибок при распространении. Это самый простой способ увидеть оскорбительный каталог. В Sencha2 - в устройстве /sdk/src/device/device. Хороший материал: все еще происходит в xcode 4.3.2
Ответ 7
Просто подтверждая, что проблема была действительно вложенными папками с тем же именем в моем приложении.
В моем конкретном случае это было проблемой:
- проблема: images/packs/ 1/1/img.png
- решение: images/packs/ pack_1/1/img.png
После этого плавное плавание. Это произошло в Xcode 4.3.3
Ответ 8
У меня была такая же проблема в моем проекте (в xcode 4.3.2), и в соответствии со всеми ответами я проверил для любого файла .png
, начиная с ._*
, а также в папке с проверкой, а в его подпапке - другое имя.
Также проверяется идентификация подписи кода в соответствии с требованием, но не удалось решить эту проблему.
После целого дня усилий, наконец, у меня появилась причина для ошибки "Ошибка упаковки" в моем проекте.
В моем случае я классифицировал About_us.h
и About_us.m
и по ошибке импортировал заголовочный файл, например #import "About Us.h"
(пробел посередине). Поэтому, когда я загрузил приложение на устройство, он будет успешно загружен, но когда я попытаюсь создать ipa с использованием архива, он даст мне ошибку и вернет мне Оценочный размер магазина приложений всего 143 кб.
Наконец, когда я изменяю заголовок как #import "About_Us.h"
и пытаюсь сделать ipa, я получил реальный размер в соответствующем MB.
Надеюсь, это поможет кому-то.
Ответ 9
нашел решение, оно действительно работает для меня. надеюсь, это поможет вам, ребята.
если проблема связана с Addthis, попробуйте выполнить
![enter image description here]()
отметил, что внутри ATResources.bundle у вас есть папка с именем ATResources.
ATResources содержит точно копии элементов (ADDTHIS.db, en.lproj, images), которые присутствуют в ATResources.bundle. поэтому мы можем просто удалить папку ATResources из ATResources.bundle.
для удаления, выберите файлы из ATResources.bundle и щелкните правой кнопкой мыши, покажите в finder → и удалите папку ATResources.
![enter image description here]()
Основная проблема заключается в том, что подкаталог в вашем пакете имеет то же имя, что и его родительский каталог.
:)
Ответ 10
Я столкнулся с этой проблемой на Xcode 5.0.2 (5A3005) с 2 полностью отдельными папками, которые назывались одинаковыми.
В большинстве других случаев в этом потоке основное внимание уделяется отношениям parent/sibling, но я думаю, что любая из двух папок с тем же именем приведет к этой ошибке.
Ответ 11
У меня была такая же проблема, как и у вас, и вдохновляющий ответ вдохновил меня:
Вы видели, что каталог ATResources содержит не что иное, как просто копию его родителя?
ADDTHIS.db
en.lproj/*
images/*
ATResources/ADDTHIS.db
ATResources/en.lproj/*
ATResources/images/*
Как быстрое и грязное исправление, я удалил резервный подкаталог. Сборка приложений и, кажется, работает нормально, и Xcode способен подписать.
Сообщите мне, если я пропустил какое-либо следствие этого исправления?
Ответ 12
Ну, я потратил час на эту проблему.
Я просто удалил AddThis из моего проекта. Сделайте это, и это сработает.
Ответ 13
перезагрузка xcode заставила кнопки работать для меня. они были вычеркнуты раньше, в случае, если у кого-то есть такая же проблема
Ответ 14
Techi50 ссылается на это, но для того, чтобы быть ясным - в Xcode 4.3.5 есть серьезная ошибка, когда сбой кода происходит, если у вас есть подкаталоги с тем же именем, что и родительский каталог. Например, в дереве SDK Sencha Touch 2 есть
/SDK/SRC/устройство/устройство
argh... часы попыток кодирования знака без везения... переименовать в:
/sdk/src/device/device_epic_fail
(так как мне не нужны эти библиотеки)
и я могу ввести код.
И одна большая охота за ошибками закончилась. Apple... исправить пожалуйста...
Ответ 15
Обновление SDK AddThis с 0.1.7 до 0.1.9 устраняет эту проблему для меня (с использованием XCode 4.3.1).
Ответ 16
Я определил еще одну причину этой ошибки, которая произошла для меня в Xcode 4.6.2 (4H1003). У меня было подпроект, создающий исполняемый файл. Этот исполняемый файл является вспомогательным инструментом, который копируется в мой пакет приложений при его создании.
В приложении есть минимальная цель развертывания OS X 10.7 и, как результат, для 64-битной Intel.
Однако для вспомогательного инструмента была установлена цель развертывания 10.6 и была построена для 32-разрядной/64-разрядной версии Intel.
Изменение вспомогательного инструмента для сборки на 10,7 и 64-разрядных процессорах Intel устраняет ошибку. Я могу надежно воссоздать ошибку, изменив вспомогательный инструмент обратно на 32-битную/64-битную Intel; это не исправление "erm, zap your PRAM".
Ответ 17
Как отмечалось в @radven и @tomek-cejner, иногда некоторые дополнительные каталоги могут вызвать проблемы. Может быть, если названо неправильно? для меня преступники были разными.
Gruntfile.js, karma-e2e.conf.js, karma.conf.js и весь каталог node_modules.
см.: Как создать IPA для распространения с помощью TestFlight с XCode 5?