Недопустимый бинарный файл приложения для iPhone - PullRequest
77 голосов
/ 07 сентября 2008

Я пытаюсь загрузить приложение в iPhone App Store, но получаю сообщение об ошибке из iTunes Connect:

Загруженный вами двоичный файл недействителен. Подпись была недействительной или не была подписана сертификатом Apple.


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

Для получения общей информации о передаче приложений iPhone в App Store см. Шаги по загрузке приложения iPhone в AppStore .

Ответы [ 34 ]

4 голосов
/ 07 сентября 2008

Что ж, после нескольких повторений шагов я наконец-то успешно загрузил свое приложение.

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

3 голосов
/ 04 февраля 2011

У меня была похожая проблема, но в Monotouch. Я обнаружил, что в моем профиле выпуска были установлены сертификаты разработчика. Это должно выглядеть так: enter image description here

3 голосов
/ 09 июня 2011

Кажется, у этой проблемы много причин. Вот мое решение:

Это относится ко всем, кто входит в несколько групп разработчиков (например, к вашим собственным приложениям и вашим компаниям).

Если вы собираете сборку с одним набором учетных данных и повторно подписываете ее другим (например, для распространения adhoc / appstore), вы должны убедиться, что сборка была изначально построена и подписана с учетными данными, принадлежащими та же команда разработчиков iOS, к которой принадлежат учетные данные дистрибутива, с которыми вы подписываете .

Так что не создавайте учетные данные "Indy Dev Inc", а затем пытайтесь выполнить развертывание с учетными данными "Company Inc". Убедитесь, что вы настроили как «Company Inc» dev, так и учетные данные для распространения, и используете их.

Я разместил больше информации об этом в своем блоге: http://omegadelta.net/2011/06/09/fiendish-ios-code-signing-invalid-binary-issue/

2 голосов
/ 23 августа 2010

У меня была такая же проблема. Я был готов бросить полотенце на эту проблему, но я понял это, когда пошел проверять свой код с помощью Murky. Я всегда проверяю различия в файлах, которые изменились, прежде чем регистрироваться. При этом на этот раз я заметил, что файл project.pbxproj изменился .... и в разделе "Распространение" запись для "PROVISIONING_PROFILE [sdk = iphoneos *] Был пустым.

Выход и перезапуск XCode не работает для меня. Вместо этого я вошел в настройки своего проекта и цели и изменил подпись кода, чтобы напрямую выбирать свой профиль распространения, а не полагаться на функцию автоматического выбора. Это привело к тому, что файл project.pbxproj заполнился правильными значениями, даже если функция автоматического выбора предположительно выбрала тот же профиль, который я выбрал вручную.

Мне нужно пиво ...

2 голосов
/ 20 января 2012

Попробовав все остальные исправления, перечисленные здесь, мы зарегистрировали TSI в Apple. Выполнив все шаги в Техническом примечании TN2250 , наша проблема была вызвана тем, что запечатанный ресурс отсутствовал или был недействительным. В нашем случае это было ._.DS_Store.

". ." называется файлом Apple Double, и является результатом копирования папки проекта Xcode * unzipped * в файловую систему и обратно из файловой системы, которая должным образом не поддерживает «ветки ресурсов» HFS + (используемые для подписей кода) Эти дополнительные ". ." файлы приводят к ошибке проверки подписи кода.

Чтобы удалить проблемные файлы Apple Double из папки проекта Xcode, запустите команду dot_clean в папке проекта Xcode, выполните чистую сборку, а затем повторно архивируйте и повторите попытку.

dot_clean /the/path/to/xcode/project

Примечание. Вы можете просто перетащить папку проекта в терминал, чтобы автоматически заполнить путь

При запуске команды сообщение отсутствует, но при следующей сборке в проекте может появиться предупреждение о файле. Вы можете игнорировать это, приложение будет успешно подтверждено и отправлено.

1 голос
/ 06 января 2011

Устранено это путем очистки файла myProject.xcodeproj (щелкните правой кнопкой мыши, откройте пакет), пакет содержал файлы от со-разработчика, после удаления которых проблема была решена

1 голос
/ 10 февраля 2011

Для меня решением было создание дистрибьюторской сертификации по адресу: Портал подготовки разработчиков Apple .

1 голос
/ 13 июня 2011

Что бы это ни стоило, я хочу добавить, что именно это исправило эту проблему для меня. У меня есть ? (вопросительный знак) в названии моего приложения, которое вызывало ошибку.

1 голос
/ 05 сентября 2010

У меня была похожая проблема, но я не использую rightlements.plist. Однако после дюжины неудачных загрузок я проверил свой info.plist и кое-что обнаружил. В моем массиве CFBundleIconFiles была пустая запись. Я удалил это и повторно представил, и это было наконец принято!

Серьезно, насколько сложно Apple будет выявлять подобные ошибки валидации?

Редактировать: не сразу очевидно, где находятся CFBundleIconFiles, потому что они используют другое имя. В информационном представлении проекта нажмите Ctrl и выберите «Показать необработанные ключи / значения», а затем вы увидите ссылки на CFBundleWh независимо. В случае этого редактора он пытался использовать несуществующий файл icon=72-@2x.png.

1 голос
/ 19 апреля 2011

Я получил недопустимый двоичный файл, если приложение не использует удаленное push-уведомление, но я оставил код для регистрации push-сообщений и делегатов обратного вызова для регистрации / получения удаленного уведомления без комментариев, даже если код не используется.

Это недавно. Мое последнее представление на прошлой неделе было в порядке. На этой неделе он возвращает неверный двоичный файл. К счастью, есть электронная почта, которая объясняет ошибку.

...