2014-01-29 2 views
3

Я пытаюсь отправить обновление в магазин приложений iOS. Я перехожу из приложения Buzztouch в приложение Sprite Kit. Я могу архивировать проект Xcode и отправить его. Приложение получает статус Закачай Received, но чем примерно через минуту, она меняется на Invalid Binary, и я получаю сообщение о том:Приложение Представление: Invalid Binary - Invalid Signature

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

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

Я очистил каталог сборки, восстановил мою цель выпуска и несколько раз создавал новые профили подготовки. Все идентификаторы подписи кода установлены в iOS Developer. Подписание кода и профили подготовки всегда были немного сбиты с толку, я мог бы сделать некоторые очевидные ошибки.

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

Единственное, что я могу думать, это либо потому, что я изменяю приложение Buzztouch, либо это комплект Sprite.

Вот скриншот моего кода подписания:

screenshot of code signing

+0

Неправильное подписание кода. Вам нужно использовать ** iOS Distribution ** для режима, который вы хотите выпустить. – borrrden

+0

Здравствуйте @borrrden Я попытался изменить их все на iOS Distribution, и он все еще возвращался с тем же. – PoKoBros

+0

Измените его на дистрибутив iOS, а затем повторите все шаги очистки и т. Д. Также вы должны увидеть предупреждение на панели ошибок, если подпись была выполнена неправильно. У вас есть сертификат магазина приложений? – borrrden

ответ

2

Это то, что я сделал, когда я столкнулся с подобной проблемой с Mac App Store:

  1. перегенерировать распространение и развитие сертификатов в приложении (от сертификатов сайта компании Apple разработчика).
  2. Загрузите оба сертификата и перетащите их на значок Xcode (не уверен, оказало ли это какое-либо влияние, но после стольких сбоев подачи я был довольно суеверен).
  3. Повторно обновить сертификаты и идентификаторы от Xcode.
    1. Открыть настройки Xcode.
    2. Перейдите на вкладку Учетные записи.
    3. Нажать на мою учетную запись
    4. Нажмите кнопку обновления.
  4. Сгенерировать архив.
  5. Отправьте приложение и нажмите «Обновить идентификаторы подписки» где-то в середине подсказки мастера.

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

Build settings - signing

+1

Я очень недоволен тем, что письмо с ошибкой от Apple вводит в заблуждение. Это стоило мне много времени! Спасибо тонну за ваше рабочее решение! – Takide

1
  1. Под "Code Signing Идентичность" Убедитесь, что вы выбрали Распределение Cert для "выпуска" схемы

  2. В разделе «Профиль предоставления» убедитесь, что вы выбрали профиль предоставления распределения (не один Hoc)

  3. архив и распространять, убедитесь, что тот же сертификат выбирается при подаче (после ввода iTunesConnect данные)

+0

По-прежнему не работает ... Любые другие предложения – PoKoBros

2

Ваш вопрос относится с подписанием не удалось из-за вашего приложения не знаком с недавним сертификатом распределения. Проверьте следующие шаги:

1) Проверьте свой bundle identifier, чтобы перечислить профиль обеспечения, как показано на рисунке ниже. Потому что это также приводит к этой проблеме.

enter image description here

2) Вы не можете с помощью correct certificates при создании вашего приложения. Просто удалите свои сертификаты в Provisioning Portal и создайте новые и обновите их в Xcode.

3) На вашей фотографии вы не выбрали правильный профиль обеспечения. Goto Organizer/Provisioning Profiles/Обновить и разрешить Xcode получать последние. см. снимок экрана, как это сделать.

Выберите правильный профиль подготовки. enter image description here

Выбрать правильный кодовый знак. enter image description here

4) Убрал ваш проект.

5) Всего clean all your targets. Вы можете даже пойти в /Users/%USERNAME%/Library/Developer/Xcode/DerivedData и удалить все каталоги там.

see this ref

+0

Не работал ... больше идей? – PoKoBros

+0

@PoKoBros по-прежнему имеет такую ​​же ошибку? – Mani

+0

Да, я все равно получаю ту же ошибку – PoKoBros

0

После выполнения всех вышеперечисленных

Меню Бара попробовать продукт-> Архив

Тогда из организации пытаются отставку и подача.

окно-> Органайзер Выберите архив, а затем нажмите распространять (но я уверен, что вы будете знать, как это работает)

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

Еще один вариант приложение использует услуги, которые вы не установили на developer.apple.com/ios для идентификатор приложения, такие как игровой центр, толчок уведомления и т.д. Удачи

0

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

2

В поддержке разработчиков Apple, есть два дополнительные общие причины Invalid Signature бинарной причины отклонения,

  1. исполняемых файлы, содержащих специальные символы (т.е. нечисловые и не-альфа). Чтобы устранить эту проблему, измените параметр сборки продукта Intel Xcode с «$ {TARGET_NAME} на строку, содержащую только буквенно-цифровые символы. Дайте мне знать, если это было причиной проблемы (и проблемных символов), потому что я записываю отчеты об ошибках, чтобы исправить каждый экземпляр, который я здесь нашел.

  2. Apple Double Files («двойные файлы»), которые являются результатом копирования проекта Xcode, несжатого на/с жесткого диска, отличного от HFS +. Для того, чтобы проверить, если это вызвано ваш отказ:

A. Запустить приложение здесь диагностики: How do I check if my application's signature has been corrupted?

B. Затем проверьте вывод командной строки с: List of Signature Verification Failure Root Causes. Двойные файлы диагностированы с сообщением вроде:

resource missing: my.app/._.* 

C. Из документов:

Файл с префиксом «._» считается AppleDouble файл и может привести к копированию без сжатия Xcode на папку без форматирования HFS +. Файлы AppleDouble должны быть удалены с помощью команды «dot_clean». Папка проекта Xcode представляет собой аргумент dot_clean, как показано ниже. Примечание. Вы можете перетащить папку Xcode из Finder в окно терминала, чтобы автоматически заполнить свой путь в команде.

 dot_clean /path/to/My_Xcode_Project 

(Если терминал не может найти dot_clean утилиты, загрузить дополнительные инструменты командной строки с помощью Xcode> Preferences> Загрузка)

D. После запуска dot_clean на вашем Xcode проект, создать новую архив приложений (через Xcode> Продукт> Архив), повторная передача.

Для предотвращения двойных файлов обязательно сжимайте папку проекта Xcode .zip с помощью Finder, прежде чем переносить его на жесткий диск с форматированием, отличным от HFS +.

+0

Я думаю, что No2 вызвал эту проблему для меня. Я попытался загрузить с внешнего жесткого диска ntfs. При копировании проекта на жесткий диск Mac все прошло нормально. – Dimmy3

+0

No1 вызвал мою проблему. Я использовал "?" символ в моем имени продукта. – poordeveloper

0

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

Смежные вопросы