Ошибка itms-90035 - Xcode

83

Я разработал приложение для телефонных разговоров, которое отлично работает на iPhone. Теперь я хочу отправить приложение в магазин приложений. Ниже приводится процедура, которой я следую, чтобы отправить свое приложение:

  1. Откройте Xcode и заархивируйте проект
  2. Нажмите "Подтвердить" (успешно)
  3. Нажмите Отправить в магазин приложений (именно здесь я получаю следующую ошибку)

введите описание изображения здесь

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

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

Пожалуйста помоги :)

Нихил Рао
источник
1
Вы уверены, что у вас правильные настройки подписи кода?
Анил Варгезе
Я не уверен в этом, как мне это проверить? Не могли бы вы помочь мне с этим?
Nikhil Rao
2
Nikhil Я получаю ту же ошибку с сегодняшнего утра. Я просто попытался «проверить» старую версию своего приложения, которая УЖЕ УЖЕ УТВЕРЖДЕНА И ЗАГРУЖЕНА успешно. Помимо ожидаемых ошибок (версия уже существует в AppStore, версия моего приложения закрыта для модификации с момента ее выпуска и т. Д.), Я продолжаю получать это ITMS-90035. Я также подтвердил, что мои сертификаты не отозваны (из центра разработчиков Apple). Я сообщу вам о своих выводах позже сегодня и буду следить за этой публикацией, чтобы услышать ваше. Спасибо :)
Nili
1
То же самое, вчера я отправил много сборок без ошибок. Коды и настройки не изменились.
VinZen
3
Nikhil решил, удалив файл .sh из моей цели, как предлагается в ответе ниже.
Нили

Ответы:

77

У меня была такая же проблема, оказалось, что одна из моих библиотек, установленных через bower, включает .shфайл, который не нужен. Я только что удалил файл, и все было успешно загружено.

Похоже, что Apple теперь заставляет разработчиков .shподписывать файлы в своих приложениях. Поскольку приложению Cordova / Phonegap они не нужны, вы можете безопасно удалить их.

Катя Михаликова
источник
3
Это единственно правильный ответ. Кстати, удалять файл не нужно. Просто исключите его из своих целей.
Inferis
1
У меня есть только один файл .sh в моем проекте под платформами> ios> cordova> lib> copy-www-build-step.sh. Это тот, который я должен удалить? Или только если их два? Благодаря!
шань
5
Благодаря!!! Это правильный ответ. В моем случае это был файл Crittercism dsym_upload.sh, который был скопирован в мои пакеты с помощью CocoaPods, что стало ругательством в моей компании.
toofah
6
У меня есть Crittercism, включенный через CocoaPods, и у него есть сценарий dsym_upload.sh, который также вызывает эту ошибку. Итак, пока я просто закомментировал эту строку в файле Pods-resources.sh: install_resource "CrittercismSDK / CrittercismSDK / dsym_upload.sh"
sasha_nec
Если у вас проблемы с критичностью и вы используете стручки какао, попробуйте исправление, которое я добавил в качестве комментария здесь: stackoverflow.com/questions/29816930/…
jeyben
9

Это случилось со мной после обновления до последней версии Xcode (6.3.1). Это не просто файлы .sh, так как я получал эти ошибки о скриптах узлов. Похоже, что ЛЮБОЙ файл, который начинается с #! / Usr / bin / env, вызовет эти ошибки. Я смог вызвать произвольные ошибки, добавив #! в случайный файл.

Временное удаление директивы #! / Usr / bin / env из верхней части файлов будет работать, но вам понадобится лучшее долгосрочное решение :)

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

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

Cayleyh
источник
8

РЕДАКТИРОВАТЬ: Мне удалось избежать этой ошибки, удалив мои файлы проектов .sh из моей цели .

Пока я бы сказал, что это ошибка Apple.

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

  • Сертификаты
  • Профили инициализации
  • Статус приложения iTunes Connect

Но пока безуспешно.

Тот факт, что поиск в Google "itms-90035" возвращает только 1 результат, заставляет меня думать, что это может быть временный инцидент.

Ферша Наей
источник
Я сделал то, что сделал ты, и полностью согласен с твоим. Полностью согласен, скрестив пальцы, надеюсь, они решат этот вопрос раньше.
Nikhil Rao
3

Как уже говорили другие, проблема, похоже, связана с включением файлов с именем «upload-dsym.sh» в комплект приложений. Вот шаги, которые я предпринял, чтобы обойти эту ошибку: Перешел к настройкам проекта в Xcode и выбрал значок приложения «Target». Выбрал вкладку Build Phases. Нажатие на «Копировать ресурсы пакета». Ищет копируемый файл с именем «upload-dsym.sh». Я удалил этот файл, и загрузка прошла нормально.

DCG
источник
Процесс, описанный в этом ответе, представляет собой подробный путь к удалению файла * .sh из подписанного приложения. В моем случае это было buildtime.shсоздано средой Worklight. Поскольку на сегодняшний день это относительно «новая» проблема, похоже, что Apple действительно что-то изменила в процессе
подачи
3

Это как-то связано с включенным .sh files, что на самом деле не так очевидно.


В нашем случае это была библиотека AudioKit. README говорит:

В большинстве случаев при сборке для iOS или tvOS, независимо от того, как вы устанавливаете фреймворк, вам нужно будет добавить фазу выполнения к цели вашего проекта с помощью следующего скрипта:

"$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/AudioKit.framework/fix-framework.sh"


Иногда вы не видите их прямо у цели build phases. Некоторые сторонние библиотеки могут вызывать эту ошибку, потому что они тоже имеют дело .sh files.

Проверьте файлы сторонних библиотек / модулей README для получения дополнительной информации.

Якуб Трухларж
источник
3

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

RunLoop
источник
2

У меня такая же проблема. Затем я удаляю файл .sh. И я снова отправляю свое приложение. Успешно!

MppleHero
источник
2

Эта проблема была решена в CrittercismSDK CocoaPods 5.2.0: https://github.com/CocoaPods/Specs/blob/master/Specs/CrittercismSDK/5.2.0/CrittercismSDK.podspec.json

Вы можете выполнить обновление до sdk 5.2.0 или удалить файл и удалить следующие строки из файла Pods-resources.sh:

    if [[ "$CONFIGURATION" == "Debug" ]]; then 
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 
fi 
if [[ "$CONFIGURATION" == "Release" ]]; then 
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 
fi 

благодаря

Дженни Охён
источник
1

У нас сегодня была очень похожая проблема, и мы ее решили.

ОШИБКА ITMS-90035: «Неверная подпись. Запечатанный ресурс отсутствует или недействителен. Двоичный файл по пути [MyNiftyApp.app/MyNiftyApp] содержит недопустимую подпись. [...]»

Мы используем Jenkins-CI для процесса сборки вместе с xcode-plugin. Когда я просмотрел журнал сборки jenkins, я обнаружил это сообщение об ошибке:

file added: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/MyNiftyApp.app
file modified: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/Assets.car
]
Codesign check fails : /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app: a sealed resource is missing or invalid

После поиска Assets.car я нашел это сообщение: https://issues.jenkins-ci.org/browse/JENKINS-21253. У пользователя была аналогичная проблема, и он мог решить ее, отключив следующую опцию плагина «XCode -> Общие. Настройки сборки -> Создать архив? "(Раньше это было правдой, теперь - ложью).

По крайней мере, это решило проблему с нашей стороны - может быть, это укажет вам правильное направление.

Seafoxx
источник
1

Я решил эту проблему, просто удалив "двоичный" файл (ы) из ошибки.

Для вас это www / js / release.sh.

Для меня это были два избыточных bower-файла, .sh-файл и .js-файл, которые находились в папке «bin» (может быть, поэтому он решил, что это бинарный файл?).

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

Йорген Свендсен
источник
1

Я получил ту же ошибку, когда попытался загрузить свое приложение с помощью ApplicationLoader 3.0. Обновление до ApplicationLoader 3.1 (т.е. последней версии) устранило проблему для меня.

Стив Ханна
источник
Я использую загрузчик приложений, версию, 3.1 (670)но проблема не устранена.
antogerva
1

В каталоге платформ запустите:

grep -r '#!/usr/' *

Это покажет вам все файлы, которые могут быть выполнены. Обычно это включает файлы .sh и node.

Из результатов найдите файлы, которые находятся в папке вашего проекта (например, моя папка проекта была platform / ios / www / *), и удалите их, оставив остальные.

Ридан
источник
1

У меня была точно такая же проблема. Я писал ошибку в myApp.app/myApp Решение: ищите файлы, которые начинаются со специальных символов или символов, кроме английского. Нашел, удалил и все заработало!

Илья Фролов
источник
0

У меня была такая же проблема с использованием бета-версии xcode 6.3.1 и 6.4. Мой сказал, что это мой файл main.o. Я просмотрел ресурсы пакета копий, и по какой-то причине там был главный файл моего проекта. Я удалил его и снова заархивировал, чтобы отправить в itunes connect для testflight, и он загрузился нормально. Мне потребовалось 3 часа, чтобы понять, что это был тот дурацкий файл. Дома это помогает. Кажется, вам нужно действительно обратить внимание на то, что вы отправляете в «Копирование ресурсов пакета» на этапах сборки. Независимо от того, какой файл он вам сообщает, это проблема, удалите его из этой области и попробуйте.

felixDkatt
источник
0

В моем случае я получил ошибку при отправке повторно подписанного файла ipa. Оказывается, я просмотрел пакет приложения в Finder, и он создал файл .DS_Store (это было после повторной подписи с помощью codesign, которая жаловалась бы, если бы файл присутствовал во время подписи).

После удаления файла .DS_Store загрузка прошла успешно.

Карстенр
источник
0

Выполните следующую команду (в Mac): codesign --verify -vvvv <your_application>.app

образец:

codesign --verify -vvvv project.app
project.app: a sealed resource is missing or invalid
file missing: /Users/iHTCboy/workspace/Payload/project.app/.DS_Store

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

это работа для меня

iHTCboy
источник