Проблема с «Неверной подписью» в iTunes Connect - PullRequest
0 голосов
/ 24 февраля 2011

Недавно я создал приложение для iPad.Я создал двоичный файл (something.zip) и загрузил его через Application Loader, но результатом загрузки всегда был 'Invalid Binary'.и я получил это письмо от Apple, когда мое приложение было отклонено из-за проблемы «Недопустимый двоичный файл»:

«Недопустимая подпись - убедитесь, что вы подписали приложение с помощью сертификата распространения, а неспециальный сертификат или сертификат разработки. Убедитесь, что параметры подписи кода в XCode являются правильными на целевом уровне (которые переопределяют любые значения на уровне проекта). Кроме того, убедитесь, что пакет, который вы загружаете, был создан с использованием цели Release в XCode, а не цель симулятора. Если вы уверены, что настройки подписи кода верны, выберите «Очистить все» в XCode, удалите каталог «build» в Finder и пересоберите цель выпуска. »

Я искал в Интернете по всему миру, чтобы решить эту досадную проблему, но я не вижу хорошего ответа.Вот данные из info.plist моего приложения:

Собственная локализация региона разработки: английский Bundle Отображаемое имя: $ (PRODUCT_NAME) Исполняемый файл: $ (EXECUTABLE_NAME) CFBunldleIconFiles: Icon-Small.png (29x29), Icon.png (57x57), Icon-Small-50.png (50x50) (все файлы были созданы как 72ppi, RGB, сглаженные, без прозрачности) Версия InfoDictionary: 6.0 Имя пакета: $ (PRODUCT_NAME) Тип пакета ОС Код: APPLBundle создатель ОС Тип кода: ????Версия пакета: 1.0 LSRequiresiPhoneOS: включено UIPrerenderedIcon: включено UIApplicationExitsOnSuspend: отключено UIStatusBarHidden: отключено **

, и я создал это приложение с помощью этих инструментов - cocos2d Ver0.99.4-rc3 / xcode Ver3.2.5 64-bit/ iOS SDK 4.2

Я пытался решить эту проблему в течение 3 дней, но не смог.

Кто-нибудь может решить проблему с моим приложением? Это неотложная проблема нашей компании.

Спасибо всем

Ответы [ 2 ]

1 голос
/ 18 марта 2011

Кажется, что есть много причин для получения этого загадочного и в основном бесполезного письма.Даже после проверки использования сертификатов распространения, очистки и перестройки моего проекта, а также проверки с помощью codeign из командной строки (и следуя инструкциям из электронного письма) никаких ошибок не было обнаружено, но я получал правильное письмо с неверной подписьюпосле загрузки.Все решения кажутся анекдотичными и, очевидно, зависят от того, какая секретная ошибка вызывает проблему.Я провел последнюю неделю, вырывая свои волосы, пытаясь выяснить это для моего приложения - и, наконец, успешно отправил его сегодня - поэтому позвольте мне поделиться своей историей и посмотреть, имеет ли она отношение к вашей ситуации.

В моем случае у меня, казалось, была сложная причина того, что мой Entitlement.plist установлен с неверной переменной вместе с удержанием старого профиля обеспечения (из предыдущей версии XCode?), Похороненного глубоко в компоненте project.pbxproj моегоФайл проекта Xcode.

Переменная «aps-environment» в моем Entitlements.plist была установлена ​​на «распределение» вместо «production» (клянусь, я где-то читал в документации для разработчиков, что это должно быть »Дистрибуция "!) Но одного лишь исправления этого было недостаточно для прохождения моего приложения.(Должно быть, я отправил 100 различных комбинаций конфигураций приложения, пробуя разные переменные!) Начиная с полезных советов из этого поста на другом форуме , я перерыл профиль распределения и нашел дубликаты записей для некоторых переменных.У дубликатов были пустые кавычки (то есть ничего не установлено для переменной) или странные переменные или старые профили обеспечения, которые, казалось, вызывали проблемы (так или иначе).Очистка и удаление дублирующих строк с плохими переменными работали в моем случае.YMMV.Но тщательное изучение файлов проекта («показать содержимое» в файле проекта Xcode в Finder) кажется хорошей идеей для диагностики.Удачи!

0 голосов
/ 21 июня 2011

Это очень раздражающая проблема, я трачу много часов, пытаясь найти решение, но в конце концов это было исправлено для меня, удалив Entitlements.plist (как я понял, это нужно только при развертывании для ad hoc ), удалив дублирующиеся поля в Info.plist, установив для цели «Распространение» с правильной конфигурацией сертификатов и используя метод «Архив», затем «Подтвердить» и, наконец, «Submmit» в XCode

...