Ich habe kürzlich ein Upgrade auf Xcode 10 durchgeführt und damit begonnen, unsere App auf Switch 4.2 zu aktualisieren. Nach einem Tag, in dem ich Frameworks von Drittanbietern neu erstellt und verschiedene Probleme umgangen habe, konnte ich unsere App auf den neuen Simulatoren ausführen.
Als ich jedoch versuchte, auf meinem persönlichen Telefon (mit iOS 12.0 GM) zu laufen, trat beim Installieren der App ein Fehler auf, wie im Titel beschrieben.
Ich weiß, dass es eine Menge von bereitsbeantworteteFragen zu diesem Thema auf SO & im Internet gibt, jedoch konnte ich keine von bekommen diese zu arbeiten.
Es hat mich nun seit ungefähr anderthalb Tagen blockiert und ich habe mich gefragt, ob jemand einen Einblick in die Art und Weise hatte, wie dies gemildert werden könnte.
Hier sind die Schritte, die ich bisher unternommen habe und die nicht funktioniert haben (vielleicht werden sie in Zukunft für andere funktionieren!):
code sign on copy
aktiviert istDeveloper
und nicht Distribution
sind.Jede Hilfe wäre sehr dankbar :)
Update : Ich habe versucht, das Programm auf einem neuen Computer von Grund auf neu herunterzuladen und wiederherzustellen, und das gleiche Problem tritt auf. Interessanterweise kann ich die App gut archivieren und validieren.
Ich habe auch versucht, ein leeres Projekt mit derselben Paket-ID zu signieren, und es hat einwandfrei funktioniert. Das Problem liegt entweder in unseren Frameworks von Drittanbietern oder in einer seltsamen Einstellung, die beim Übergang von Xcode 9.4 aktiviert wurde. Beginnen Sie damit, Frameworks von Drittanbietern nacheinander zu entfernen, bis ich diese kompilieren kann.
Update 2 : Immer noch kein Glück. Versucht, die meisten Frameworks und nichts auszuräumen. Hier sind die Geräteprotokolle, die sich fragen, ob Skipping a profile because of error 0xe8008012
etwas damit zu tun hat:
https://Gist.github.com/joshuawright11/6889ce1a0872262df77f97d63830baa5
Update 3 : Also konnte ich es installieren, indem ich das Carthage Copy-Frameworks-Skript in den Erstellungsphasen auskommentierte (und die abgeleiteten Daten anschließend bereinigte/bereinigte). Das bedeutet natürlich, dass es beim Booten abstürzt, da diese Frameworks fehlen, aber das Problem liegt entweder bei Carthage oder einem der verknüpften Carthage-Frameworks. Nicht unsere Signaturzertifikate, Bereitstellungsprofile oder Codebasis. Versuchen Sie, diese Frameworks nacheinander zu entfernen, und ich werde sie hier aktualisieren.
Final Update Endlich herausgefunden. Die Lösung stellte sich als ziemlich nischenhaft heraus (siehe unten), aber hoffentlich dient diese Frage als Zusammenstellung aller Lösungen, die mit diesem Problem im Internet zu tun haben, haha.
Herausgefunden:
Ich bin mit Carthage auf dieses Problem gestoßen: https://github.com/Carthage/Carthage/issues/2472 und habe deren vorgeschlagene Lösung zum Setzen von EXPANDED_CODE_SIGN_IDENTITY = '' verwendet, als ich Sachen auf Xcode 10 übertrug.
Offensichtlich verursacht diese Linie, dass sich Karthago beim Kopieren von Frameworks selbst verletzt, was den Fehler verursacht. Ich habe die neueste Version von Carthage heruntergeladen, um das Problem zu beheben. Anschließend wurde die Zeile EXPANDED_CODE_SIGN_IDENTITY=''
entfernt und alles funktionierte. Was für eine Zeitverschwendung.
Ich bin mir nicht sicher, ob dies auch Ihr Fall ist, aber ich bin kürzlich auf diesen Fehler gestoßen, als ich versuchte, eine React Native-App auf dem iPhone auszuführen. Es begann, nachdem ich Lottie-Bibliothek für React Native integriert hatte
Das Problem wurde durch dieses in Build-Phasen hinzugefügte Run-Skript verursacht: http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/ . Das Skript konnte keine Architekturen aus Lottie.framework extrahieren, wodurch eine "input file (.../Lottie.framework/Lottie) must be a fat file when the -extract option is specified
Um dieses Problem zu beheben, fügte ich im Skript eine Überprüfung hinzu, um Nicht-Fett-Dateien zu überspringen:
# ...
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
if lipo -info "$FRAMEWORK_EXECUTABLE_PATH" | grep -iq "Non-fat file"
then
echo "This is a non-fat file, skipping"
continue
fi
EXTRACTED_ARCHS=()
# ...
Ich hatte das gleiche Problem mit Xcode 10.0 (10A255).
Ungültige Signatur - Eine versiegelte Ressource fehlt oder ist ungültig. Die Datei unter Pfad [xxxx.app/xxxxx] ist nicht ordnungsgemäß signiert.
xcode 9.4.1 (9F2000) konnte die App immer ohne Probleme einreichen.
Ich konnte das Problem beheben, indem alle unterstützenden Dateien (txt, json, rtf, html, ttf usw.) gelöscht und anschließend erneut hinzugefügt wurden.
Ich empfehle Ihnen, einen Build ohne die Dateien einzureichen. Wenn dies funktioniert, können Sie sie Schritt für Schritt erneut hinzufügen
In meinem Fall hatte ich sowohl eine ungültige iPhoneXS-Bereitstellung als auch einen Paketkennungskonflikt. Mein Projekt wurde nach einem Xcode-Upgrade versucht und es wurde ein neues Telefon angefügt. Nachdem Sie die obigen Schritte ausgeführt haben (vollständig neu erstellte Schlüsselkette und Profile, gelöschter persistenter Ordner usw.).
Auf Zielprojekteinstellungen:
Ich bin mir ziemlich sicher, dass nur der Paketkennungskonflikt den normalen automatischen Eintrag meines Geräts in die bereitgestellten Geräte blockiert hat.
In den Bauphasen/Karthago des Projektziels setzen Sie den Karthago-Befehl wie folgt:
EXPANDED_CODE_SIGN_IDENTITY = '' Carthage Copy-Frameworks
Dies ist nur eine zeitliche Lösung, während das Problem mit den get-Umgebungen gelöst wird.