Недействительная подпись (недопустимый двоичный файл) в iTunes Connect
Я знаю, это дублированный вопрос, но по всем другим вопросам я не могу найти решение, поэтому я снова отправлю вопрос с более подробной информацией.
Я архивирую свое приложение на xcode5
для iOS7
с помощью Release Scheme
и исправляю Provisioning Distribution
чтобы экран:
Это значение Project
![enter image description here]()
И это на Target
![enter image description here]()
![enter image description here]()
Я пытаюсь сделать много разных активов, я уверен, что мой Building Archive
находится на Release
, но ответ iTunesConnect
каждый раз один и тот же:
Уважаемый разработчик,
Мы обнаружили одну или несколько проблем с вашей недавней доставкой для "MyApp". Для обработки вашей доставки, следующие проблемы должны исправить:
Недействительная подпись. Убедитесь, что вы подписали свою заявку с помощью сертификат распространения, а не специальный сертификат или разработка сертификат. Убедитесь, что настройки подписи кода в Xcode исправить на целевом уровне (которые переопределяют любые значения в проекте уровень). Кроме того, убедитесь, что пакет, который вы загружаете, был построен используя цель Release в Xcode, а не цель симулятора. Если ты определенные настройки подписи кода верны, выберите "Очистить все" в Xcode, удалите каталог "build" в Finder и перестройте свой релиз цели.
Как только эти проблемы будут исправлены, перейдите на страницу сведений о версии и нажмите "Готово для загрузки двоичных файлов". Продолжить рассмотрение до состояния приложения "Ожидание загрузки". Тогда вы можете доставить исправленный двоичный файл.
Привет,
Команда App Store
И Invalid Binary
Я становлюсь сумасшедшим, чтобы понять, как подойти к этой проблеме, у любого органа есть идея сделать это?
Спасибо.
**** Test Response ****
![enter image description here]()
Афориальный экран
правильно
![enter image description here]()
Ответы
Ответ 1
В Xcode на целевом уровне выполните следующие действия:
- Сначала выберите профиль подготовки конфигурации Release. (Для
Any SDK
)
Профиль обеспечения должен соответствовать приложению Bundle ID
(как вы можете видеть на вкладке "Общие" ).
- В идентификаторе подписи кода нажмите в подменю
Any iOS SDK
и убедитесь, что вы выбрали Automatic
. Если вы не видите ниже.
- Очистить все и Архив.
Выбор идентификатора CodeSign:
На шаге 2, если вы не можете выбрать Automatic
, значит, у вас может не быть соответствия между AppID и идентификатором пакета Bundle ID.
AppID указывается профилем настройки, который вы выбрали.
Если это так, войдите в портал разработчика и убедитесь, что профиль обеспечения, который вы использовали, указывает на правильный AppID.
Чтобы проверить параметры .ipa или .app перед отправкой, попробуйте эти команды.
Затем посмотрите распечатку и посмотрите, все ли все правильно. Также проверьте дату истечения срока действия.
$cd <where the app is>
$unzip *.ipa
$cd Payload
$codesign -d --entitlement - *.app
$codesign --verify -dvvv *.app
$security cms -D -i *.app/embedded.mobileprovision
Ответ 2
В поддержке разработчиков Apple я видел две дополнительные общие причины причины отклонения Invalid Signature
,
-
исполняемые файлы, содержащие специальные символы (т.е. нечисловые и не-альфа). Чтобы устранить эту проблему, измените параметр сборки продукта Intel Xcode с именем "$ {TARGET_NAME] на строку, содержащую только буквенно-цифровые символы. Сообщите мне, если это было причиной проблемы (и проблемных символов), потому что я делаю ошибку отчеты, чтобы исправить каждый экземпляр, который я нашел здесь.
-
Apple Double Files ( "двойные файлы" ), которые являются результатом копирования проекта Xcode, несжатого на/с жесткого диска, отличного от HFS+. Чтобы проверить, вызвало ли это ваше отклонение:
а. Запустите диагностику приложения здесь: Как проверить, была ли повреждена моя подпись приложения?
В. Затем проверьте вывод командной строки с помощью: Список ошибок проверки подписи подписи. Двойным файлам задано сообщение типа:
resource missing: my.app/._.*
С. Из документов:
Файл с префиксом "._" считается файлом AppleDouble, и он может возникнуть в результате копирования папки проекта без сжатия Xcode на не-HFS + форматированный диск. Файлы AppleDouble необходимо удалить, используя команда "dot_clean". Папка проекта Xcode является аргументом для dot_clean, как показано ниже. Примечание. Вы можете перетащить проект Xcode папку из Finder в окно терминала, чтобы автоматически заполнить ее путь в команду.
dot_clean /path/to/My_Xcode_Project
(Если терминалу не удается найти утилиту dot_clean, загрузите дополнительные инструменты командной строки через Xcode > Настройки > Загрузки)
Д. После запуска dot_clean
в вашем проекте Xcode создайте новый архив приложений (через Xcode > Product > Archive), повторите попытку отправки.
Чтобы предотвратить двойные файлы, обязательно сжимайте папку проекта Xcode.zip с помощью Finder перед переносом на/с жесткого диска, отличного от HFS +.
Ответ 3
Теперь он должен включать следующую архитектуру.
armv7 armv7s arm64 i386 x86_64
Попробуйте это.