Помилка itms-90035 - Xcode


83

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

  1. Відкрийте Xcode і заархівуйте проект
  2. Клацніть на перевірити (що успішно)
  3. Натисніть Надіслати в магазин додатків (саме тут я отримую таку помилку)

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

До вчора ввечері я навіть не отримував цієї помилки, а сьогодні вранці архівую проект і отримую цю помилку. Не впевнений, у чому проблема.

Це останній етап, який заважає мені надсилати програму, і це дуже засмучує. Я спробував знайти той самий код помилки на форумі stackoverflow, і я не зміг знайти жодної публікації, яка б точно відповідала коду помилки, як моя, що дуже дивно.

Будь ласка, допоможіть :)


1
Ви впевнені, що налаштування підпису коду правильні?
Anil Varghese

Я не впевнений у цьому, як це перевірити? Чи можете ви, будь ласка, направити мене з цим?
Nikhil Rao

2
Нікхіл. Я теж отримую ту саму помилку з сьогоднішнього ранку. Я просто спробував "перевірити" стару версію мого додатка, яку ВЖЕ УВАГОДНО ЗАХВОРЮВАЛИ І ЗАСТАВЛИЛИ. Окрім очікуваних помилок, яких я очікую (версія вже існує в AppStore, версія моєї програми закрита для модифікації з моменту її випуску тощо), я продовжую отримувати цей ITMS-90035. Я також підтвердив, що мої сертифікати не скасовуються (з центру розробників Apple). Пізніше сьогодні я поінформую вас про свої висновки та відстежуватиму цю публікацію, щоб почути вашу. Спасибі :)
Нілі,

1
Те саме, вчора я подав багато збірок без помилок. Коди та налаштування не змінилися.
VinZen

3
Nikhil вирішив, видаливши файл .sh з моєї цілі, як запропоновано у відповіді нижче.
Нілі

Відповіді:


77

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

Схоже, що зараз Apple змушує розробників .shпідписувати файли у своїх програмах. Оскільки програма Cordova / Phonegap не потребує жодної з них, ви можете сміливо їх видалити.


3
Це єдина правильна відповідь. До речі, вам не потрібно видаляти файл. Просто виключіть його зі своїх цілей.
Inferis,

1
У мене є лише один файл .sh у моєму проекті під платформами> ios> cordova> lib> copy-www-build-step.sh. Це той, який я повинен видалити? Або лише якщо є дві? Дякую!
shan

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

Якщо crittercism це ви видаєте , і ви використовуєте стручки какао спробуйте виправити я додав в якості коментаря тут: stackoverflow.com/questions/29816930 / ...
jeyben

9

Це сталося зі мною після оновлення до останньої версії Xcode (6.3.1). Це не лише файли .sh, оскільки я отримував ці помилки щодо сценаріїв вузлів. Здається, будь-який файл, який починається з #! / Usr / bin / env, спричинить ці помилки. Я зміг спричинити довільні помилки, додавши #! до випадкового файлу.

Тимчасове видалення директиви #! / Usr / bin / env у верхній частині файлів буде працювати, але ви хочете краще довгострокове рішення :)

Вам доведеться це виправити, враховуючи кожен файл сценарію в кожному конкретному випадку для того, що має сенс у вашому проекті.

Як зазначалося вище, це може бути тимчасовою проблемою на стороні Apple, не обов'язково пов'язаною з версією Xcode.


8

РЕДАГУВАТИ: Мені вдалося уникнути цієї помилки, вилучивши файли .sh із моєї цілі .

Поки що я б сказав, що це помилка на стороні Apple.

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

  • Сертифікати
  • Надання профілів
  • iTunes підключає стан програми

Але поки що успіху немає.

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


Я зробив все, що ти зробив, і я абсолютно такої ж думки, як і ти. Повністю згоден, схрестивши пальці, сподіваємось, вони вирішать це питання швидше.
Nikhil Rao

3

Як вже говорили інші, проблема, схоже, пов’язана з включенням файлів із назвою „upload-dsym.sh” у пакет програм. Ось кроки, які я зробив, щоб подолати цю помилку: Перейшов до налаштувань проекту в Xcode і вибрав піктограму програми "Ціль". Вибрано вкладку Фази збірки. Клацнув на "Копіювати пакети ресурсів" Шукав файл, що копіюється, з назвою "upload-dsym.sh". Я видалив цей файл, а потім завантаження пройшло нормально.


Процес, описаний у цій відповіді, - це детальний шлях до видалення файлу * .sh із підписаного додатка. У моєму випадку це було buildtime.shстворено середовищем Worklight. Оскільки це на сьогоднішній день відносно "нова" проблема, схоже, що Apple дійсно щось змінила в процесі подання ...
roy650

3

Це має щось спільне з включеним .sh files, насправді не таким очевидним.


У нашому випадку це була бібліотека AudioKit. README каже:

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

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


Іноді ви не бачите їх безпосередньо у цілі build phases. Деякі сторонні бібліотеки можуть спричинити цю помилку, оскільки вони також мають справу .sh files.

Для отримання додаткової інформації перевірте файли своїх сторонніх бібліотек / README файлів.


3

У моєму випадку я отримав цю помилку, оскільки відображуване ім'я програми мало спеціальний символ. Мені невідомо, чому не вдається створити належні повідомлення про помилки.


2

У мене те саме питання. Потім я видаляю файл .sh. І я знову подаю свою програму. Вдало!


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. Переглянувши журнал збірки 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 -> Загальні Налаштування збірки -> Створити архів? "(Раніше це було правдою, тепер це хибно).

Принаймні це вирішило проблему з нашого боку - можливо, це допоможе вам у правильному напрямку.


1

Я вирішив це, просто видаливши "двійковий" файл (файли) у помилці.

Для вас його www / js / release.sh.

Для мене це були два надлишкових файли bower, .sh-файл і .js-файл, який знаходився в папці "bin" (можливо, саме тому він вважав, що це двійковий файл?).

У додатковій примітці здається, що ви все одно можете продовжити процес завантаження, просто натиснувши кнопку "Надіслати" після того, як перед вами з'являться помилки у програмі Loader.


1

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


Я використовую Application Loader, версію, 3.1 (670)і все ще маю проблему.
antogerva

1

У каталозі платформ запустіть:

grep -r '#!/usr/' *

Це покаже вам усі файли, які можна виконати. Зазвичай це включає файли .sh та node.

З результатів знайдіть файли, що знаходяться у вашій папці проекту (наприклад, моєю папкою проекту було platform / ios / www / *), а видаліть їх, а решту залиште.


1

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


0

У мене була однакова проблема з використанням xcode 6.3.1 та 6.4 beta. Мій сказав, що це мій файл main.o. Я заглянув у ресурси пакету копій, і чомусь там був головний файл мого проекту. Я видалив його і знову заархівував, щоб відправити до iTunes Connect для testflight, і він завантажився нормально. Мені знадобилося 3 години, щоб зрозуміти, що це був той дурний файл. Додому це допомагає. Здається, вам потрібно по-справжньому звернути увагу на те, що ви надсилаєте в "Копіювати пакети ресурсів" на етапах побудови. Незалежно від того, який файл повідомляє вам про проблему, видаліть його з цієї області та спробуйте.


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. Будь ласка, знайдіть і вилучіть його та повторіть спробу.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.