webentwicklung-frage-antwort-db.com.de

Xcode 8 "Die Anwendung hat keine gültige Signatur"

Xcode 8 wirft den folgenden Fehler aus, obwohl die Bereitstellung in Ordnung zu sein scheint:

 App installation failed. The application does not have a valid signature

Wie man es repariert?

43

Es sieht aus wie ein Xcode 8-Fehler. Reinigen Sie das Projekt durch Drücken von Command + Shift + K oder Product -> Clean fixiert es.

79

Ich hatte ein ähnliches Problem, leider musste ich häufig eine vollständige Reinigung durchführen, eine sehr kostspielige Operation (~ 5-6 Minuten) für mein Projekt und mein Rigg.

Es stellt sich heraus, dass dies durch (während einer benutzerdefinierten Erstellungsphase) nach dem Hinzufügen von "Bundle-Ressourcen kopieren" ein benutzerdefiniertes Feld "BuildDate" hinzugefügt werden kann, um diesen Wert für Debug-Zwecke in der App anzuzeigen. 

Nicht sicher, ob der Fehler absichtlich oder ein Xcode 8-Fehler vorliegt. Ich fand auch heraus, dass ich bei der Bearbeitung, sogar dem Hinzufügen und Löschen eines Zeichens zur Codebasis, ausgeführt werden konnte, ohne vorher eine vollständige Bereinigung durchzuführen.

Das Hinzufügen dieses Eintrags zu einer separaten Plist VOR der Erstellungsphase "Bundle-Ressourcen kopieren" und das anschließende Zeichnen aus dieser Plist für BuildDate (anstelle von info.plist) löste das Problem für mich. Weitere Details in der bereitgestellten Quelle.

Quelle: https://forums.developer.Apple.com/thread/63955 (Ich beziehe mich nicht auf die volle Erstattung für diesen Fix, aber der detaillierte Fix hat das Problem für mich gelöst.)

15
CJ Dev

Eine andere Lösung besteht darin, die Versionsnummer zu aktualisieren. Es funktioniert und Sie müssen nicht reinigen, was Zeit spart.

4
Brent Brookler

In meinem Fall zeigt Xcode diesen Fehler ganz zufällig. Die einfachste Lösung, die für mich funktioniert, besteht darin, nur eine Zeile des Quellcodes zu ändern und das Projekt erneut zu erstellen. Das Hinzufügen einer leeren Zeile reicht aus.

3
Kris

In meinem Fall handelt es sich um ein Problem mit dem Bereitstellungsprofil.

Hier ist der Fix:

1) Select XcodeProject -> Target -> Signing -> Team as None.
2) XCode -> Preferences -> Accounts -> Apple IDs -> (Remove the Apple Id once, please make sure you should have Apple id credentials in order to add it again)
3) Add the Apple ID again.
4) Quit Xcode.
5) Open Xcode 
6)  Select XcodeProject -> Target -> Signing - > Select the new Team added.

Es sollte jetzt funktionieren.

2
Ganesh

In meinem Fall wurde eines der Frameworks auf das Bereitstellungsziel 12.0 gesetzt, das höher ist als das tatsächlich auszuführende Gerät. Das Reparieren auf eine niedrigere Version funktionierte.

1

Dieser Fehler ist mir passiert, als ich versuchte, die Anwendung .app im iOS-Gerät zu installieren. Vergewissern Sie sich, dass Sie versuchen, den korrekten Typ für die Installation zu installieren. 

1
Will Gwo

In meinem Fall lag das Problem in meinen eigenen Framework-Bibliotheken mit dem "Deployment Target" von 12.1, das bei der Erstellung von Xcode standardmäßig so eingestellt wurde. Die Hauptanwendung, zu der ich diese Bibliotheken hinzufügte, war das "Bereitstellungsziel" von 9.3. Beim Bereitstellen auf einem physischen iOS 10-Gerät ist ein Problem aufgetreten. Festlegen von Framework-Bibliotheken auf dasselbe "Bereitstellungsziel" wie das Problem mit der App gelöst wurde.

Ich denke, eine offensichtliche Faustregel besteht darin, Frameworks auf Deployment-Ziele festzulegen, die "älter" sind als die Ziel-App. Mein Fehler, aber ich würde einige Warnungen und weniger kryptische Fehler für einen solchen Fall vorziehen Xcode 10.

Für mich verschwand die Nachricht, nachdem ich iOS von 10.3.3 auf 12.3.1 auf dem Gerät aktualisiert hatte, auf dem ich die Anwendung ausführen wollte.

0
dorjeozer

Ich hatte das gleiche Problem mit einer watchOS-App. Ich konnte das Problem nur lösen, indem ich alle Provisioning-Profile löschte, indem ich sie aus ~/Library/MobileDevice/Provisioning Profiles/ lösche und dann erlaube, dass Xcode die benötigten Daten erneut herunterladen kann (ich erlaube Xcode, die Signatur automatisch zu verwalten).

0
Jeff V