Fehler itms-90035 - Xcode

83

Ich habe eine Phonegap-Anwendung entwickelt, die auf dem iPhone absolut einwandfrei funktioniert. Jetzt möchte ich die App an den Appstore senden. Das folgende Verfahren befolge ich, um meine App einzureichen:

  1. Öffnen Sie Xcode und archivieren Sie das Projekt
  2. Klicken Sie auf Validieren (was erfolgreich ist).
  3. Klicken Sie auf An Appstore senden (hier wird der folgende Fehler angezeigt)

Geben Sie hier die Bildbeschreibung ein

Bis gestern Abend habe ich diesen Fehler nicht einmal bekommen und heute morgen archiviere ich das Projekt und bekomme diesen Fehler. Ich bin mir nicht sicher, was das Problem ist.

Dies ist die letzte Phase, die mich daran hindert, die App einzureichen, und die sehr frustrierend ist. Ich habe versucht, im Stackoverflow-Forum nach demselben Fehlercode zu suchen, und ich konnte keinen einzigen Beitrag finden, der genau den gleichen Fehlercode wie ich hat. das ist sehr seltsam.

Bitte helfen Sie :)

Nikhil Rao
quelle
1
Sind Sie sicher, dass Ihre Einstellungen für die Codesignatur korrekt sind?
Anil Varghese
Ich bin mir nicht sicher, wie überprüfe ich das? Kannst du mich bitte damit führen?
Nikhil Rao
2
Nikhil, ich bekomme seit heute Morgen auch den gleichen Fehler. Ich habe gerade versucht, eine alte Version meiner App zu "validieren", die BEREITS GENEHMIGT UND erfolgreich hochgeladen wurde. Abgesehen von den erwarteten Fehlern, die ich erwarte (die Version ist bereits im AppStore vorhanden, die Version meiner Anwendung ist seit ihrer Veröffentlichung wegen Änderungen geschlossen usw.), erhalte ich weiterhin dieses ITMS-90035. Ich habe außerdem überprüft, dass meine Zertifikate nicht widerrufen werden (vom Apple Developer Center). Ich werde Sie später heute über meine Ergebnisse auf dem Laufenden halten und diesen Beitrag überwachen, um Ihre zu hören. Danke :)
Nili
1
Gleich hier, gestern habe ich viele Builds ohne Fehler eingereicht. Codes und Einstellungen haben sich nicht geändert.
VinZen
3
Nikhil löste das Problem, indem er die .sh-Datei von meinem Ziel entfernte, wie in der folgenden Antwort vorgeschlagen.
Nili

Antworten:

77

Ich hatte das gleiche Problem, es stellte sich heraus, dass eine meiner über Bower installierten Bibliotheken eine .shDatei enthält, die nicht benötigt wird. Ich habe gerade die Datei gelöscht und alles wurde erfolgreich hochgeladen.

Scheint so, als ob Apple Entwickler jetzt dazu zwingt, .shDateien in ihren Apps signieren zu lassen. Da die Cordova / Phonegap-App keine davon benötigt, können Sie sie sicher löschen.

Kate Miháliková
quelle
3
Dies ist die einzig richtige Antwort. Sie müssen die Datei übrigens nicht löschen. Schließen Sie es einfach von Ihren Zielen aus.
Inferis
1
Ich habe nur eine .sh-Datei in meinem Projekt unter Plattformen> ios> cordova> lib> copy-www-build-step.sh. Ist das derjenige, den ich löschen soll? Oder nur wenn es zwei gibt? Vielen Dank!
Shan
5
Vielen Dank!!! Dies ist die richtige Antwort. In meinem Fall wurde die Datei Crittercism dsym_upload.sh von CocoaPods in meine Bundles kopiert, was in meiner Firma zu einem Schimpfwort geworden ist.
Toofah
6
Ich habe Crittercism über CocoaPods aufgenommen und es hat das Skript dsym_upload.sh, das auch diesen Fehler verursacht. Im Moment habe ich diese Zeile in der Datei Pods-resources.sh auskommentiert: install_resource "CrittercismSDK / CrittercismSDK / dsym_upload.sh"
sasha_nec
Wenn Sie Probleme mit Crittercism haben und Kakaofrüchte verwenden, versuchen Sie das Update
jeyben
9

Dies geschah mir nach dem Update auf den neuesten Xcode (6.3.1). Es sind nicht nur .sh-Dateien, da ich diese Fehler über Knotenskripte erhalten habe. Es scheint, dass JEDE Datei, die mit #! / Usr / bin / env beginnt, diese Fehler verursacht. Ich konnte durch Hinzufügen eines # beliebige Fehler verursachen! zu einer zufälligen Datei.

Das vorübergehende Löschen der Direktive #! / Usr / bin / env aus dem oberen Bereich der Dateien funktioniert, aber Sie möchten eine bessere langfristige Lösung :)

Sie müssen das Problem beheben, indem Sie sich von Fall zu Fall mit jeder Skriptdatei befassen, um herauszufinden, was in Ihrem Projekt sinnvoll ist.

Wie oben erwähnt, könnte dies ein vorübergehendes Problem auf Apples Seite sein, das nicht unbedingt mit der Xcode-Version zusammenhängt.

Cayleyh
quelle
8

BEARBEITEN: Ich konnte diesen Fehler vermeiden, indem ich die .sh-Dateien meines Projekts von meinem Ziel entfernte .

Bisher würde ich sagen, dass dies ein Fehler auf Apples Seite ist.

Ich habe gestern eine App ohne Probleme eingereicht und sie heute abgelehnt, um heute eine leicht geänderte Binärdatei einzureichen, aber wie Sie stoße ich jetzt auf denselben Fehler. Ich dachte, es hängt damit zusammen, Xcode6.3.1weil ich es heute Morgen installiert habe, also habe ich es Xcode 6.3.0erneut installiert , aber der Fehler blieb bestehen. Dann überprüfe ich alles gründlich:

  • Zertifikate
  • Bereitstellungsprofile
  • Status der iTunes Connect-Anwendung

Aber bisher kein Erfolg.

Die Tatsache, dass eine Google-Suche "itms-90035" nur 1 Ergebnis liefert, lässt mich denken, dass dies ein vorübergehender Vorfall sein könnte.

Ferschae Naej
quelle
Ich habe getan, was auch immer Sie getan haben, und ich bin völlig der gleichen Meinung wie Sie. Stimmen Sie voll und ganz zu, drücken Sie die Daumen, hoffentlich lösen sie dieses Problem früher.
Nikhil Rao
3

Wie andere bereits gesagt haben, scheint das Problem darauf zurückzuführen zu sein, dass Dateien mit dem Namen "upload-dsym.sh" in das App-Bundle aufgenommen wurden. Hier sind die Schritte, die ich unternommen habe, um diesen Fehler zu beheben: Ging zu den Projekteinstellungen in Xcode und wählte das App-Symbol "Ziel". Wählen Sie die Registerkarte Build-Phasen. Klicken Sie auf "Bundle-Ressourcen kopieren". Es wurde nach einer zu kopierenden Datei mit dem Namen "upload-dsym.sh" gesucht. Ich habe diese Datei entfernt und dann ging der Upload gut.

DCG
quelle
Der in dieser Antwort beschriebene Prozess ist der detaillierte Pfad zum Entfernen der * .sh-Datei aus der signierten App. In meinem Fall wurde es buildtime.shvon der Worklight-Umgebung produziert. Da dies bis heute ein relativ "neues" Problem ist, scheint es, als hätte Apple tatsächlich etwas im
Einreichungsprozess
3

Es hat etwas damit zu tun .sh files, was nicht so offensichtlich ist.


In unserem Fall war es die AudioKit-Bibliothek. README sagt:

In den meisten Fällen müssen Sie beim Erstellen für iOS oder tvOS, unabhängig davon, wie Sie das Framework installieren, dem Ziel Ihres Projekts eine Ausführungsphase mit dem folgenden Skript hinzufügen:

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


Manchmal sehen Sie sie nicht direkt in Ihrem Ziel build phases. Einige Bibliotheken von Drittanbietern können diesen Fehler verursachen, da sie ebenfalls behandelt werden .sh files.

Überprüfen Sie die Dateien Ihrer Bibliotheken / Pods von Drittanbietern README auf weitere Informationen.

Jakub Truhlář
quelle
3

In meinem Fall habe ich diesen Fehler erhalten, weil der App-Anzeigename ein Sonderzeichen enthielt. Es entgeht mir, warum keine richtigen Fehlermeldungen generiert werden können.

RunLoop
quelle
2

Ich habe das gleiche Problem. Dann lösche ich die .sh-Datei. Und ich reiche meine App erneut ein. Erfolgreich!

MppleHero
quelle
2

Dieses Problem wurde in CrittercismSDK CocoaPods 5.2.0 behoben: https://github.com/CocoaPods/Specs/blob/master/Specs/CrittercismSDK/5.2.0/CrittercismSDK.podspec.json

Sie können entweder auf SDK 5.2.0 aktualisieren oder die Datei löschen und die folgenden Zeilen aus der Datei Pods-resources.sh entfernen:

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

Vielen Dank

JennieOhyoung
quelle
1

Wir hatten heute ein sehr ähnliches Problem und haben es gelöst.

FEHLER ITMS-90035: "Ungültige Signatur. Eine versiegelte Ressource fehlt oder ist ungültig. Die Binärdatei im Pfad [MyNiftyApp.app/MyNiftyApp] enthält eine ungültige Signatur. [...]"

Wir verwenden Jenkins-CI für den Build-Prozess zusammen mit dem xcode-Plugin. Als ich das Jenkins-Build-Protokoll überprüfte, fand ich folgende Fehlermeldung:

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

Nachdem ich nach diesem Assets.car gesucht hatte, fand ich diesen Beitrag: https://issues.jenkins-ci.org/browse/JENKINS-21253 Der Benutzer hatte ein ähnliches Problem und konnte es durch Deaktivieren der folgenden Plugin-Option "XCode -> Allgemein" lösen Build Settings -> Generate Archive? "( War es vorher wahr, jetzt ist es falsch).

Zumindest hat dies das Problem auf unserer Seite gelöst - vielleicht führt es Sie in die richtige Richtung.

Seafoxx
quelle
1

Ich habe dies behoben, indem ich einfach die "binären" Dateien im Fehler entfernt habe.

Für Sie ist es www / js / release.sh.

Für mich waren es zwei redundante Bower-Dateien, eine .sh-Datei und eine .js-Datei, die sich unter einem "bin" -Ordner befanden (vielleicht dachte sie deshalb, es sei eine Binärdatei?).

Nebenbei bemerkt, es scheint, dass Sie den Upload-Vorgang weiterhin fortsetzen können, indem Sie einfach auf Senden klicken, nachdem die Fehler im Application Loader angezeigt wurden.

Jørgen Svendsen
quelle
1

Ich habe den gleichen Fehler erhalten, als ich versucht habe, meine App mit ApplicationLoader 3.0 hochzuladen. Ein Upgrade auf ApplicationLoader 3.1 (dh das neueste) hat das Problem für mich behoben.

Steve Hannah
quelle
Ich verwende Application Loader, Version 3.1 (670)und habe immer noch das Problem.
Antogerva
1

Führen Sie im Plattformverzeichnis Folgendes aus:

grep -r '#!/usr/' *

Dies zeigt Ihnen alle Dateien, die ausgeführt werden können. In der Regel umfasst dies .sh- und Knotendateien.

Suchen Sie aus den Ergebnissen die Dateien in Ihrem Projektordner (z. B. mein Projektordner war platform / ios / www / *) und löschen Sie sie. Lassen Sie den Rest.

Ridan
quelle
1

Ich hatte genau das gleiche Problem. Ich habe einen Fehler in der myApp.app/myApp Entscheidung geschrieben: Suchen Sie nach Dateien, die mit Sonderzeichen oder anderen Zeichen als Englisch beginnen. Ich fand, löschte und alles funktionierte!

Ilya Frolov
quelle
0

Ich hatte das gleiche Problem mit xcode 6.3.1 und 6.4 Beta. Meins sagte, es sei meine main.o-Datei. Ich habe in den Ressourcen des Kopierpakets nachgesehen und aus irgendeinem Grund war die Hauptdatei meines Projekts dort. Ich habe es entfernt und erneut archiviert, um es für Testflight an iTunes Connect zu senden, und es wurde einwandfrei hochgeladen. Ich brauchte 3 Stunden, um herauszufinden, dass es diese dumme Akte war. Zuhause hilft das. Anscheinend müssen Sie wirklich darauf achten, was Sie in den "Build Bundle Resources" in den Erstellungsphasen senden. Welche Datei es Ihnen auch sagt, es ist ein Problem. Entfernen Sie taht aus diesem Bereich und probieren Sie es aus.

felixDkatt
quelle
0

In meinem Fall wurde beim Senden einer neu signierten IPA-Datei der Fehler angezeigt. Es stellte sich heraus, dass ich mir das Anwendungspaket im Finder angesehen und eine .DS_Store-Datei erstellt hatte (dies geschah nach dem erneuten Signieren mitcodesign , was sich beschwert hätte, wenn die Datei zum Zeitpunkt des Signierens vorhanden gewesen wäre).

Nach dem Entfernen der .DS_Store-Datei war der Upload erfolgreich.

karstenr
quelle
0

Führen Sie den folgenden Befehl aus (in Mac): codesign --verify -vvvv <your_application>.app

Stichprobe:

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

Sieht so aus, als hätte eine versteckte Datei .DS_Store in den Assets meiner App. Bitte finden und entfernen Sie es und versuchen Sie es erneut.

das ist arbeit für mich

iHTCboy
quelle